Introduccion_a_VHDL_Pra03_

12

Click here to load reader

Transcript of Introduccion_a_VHDL_Pra03_

Page 1: Introduccion_a_VHDL_Pra03_

Lab. de Diseño Lógico Práctica No. 3

Diseño LógicoPractica 02COMPUERTAS EXCLUSIVAS, UNIVERSALIDAD DE NAND Y NOR E INTRODUCCIÓN AL LENGUAJE VHDL

Sandoval García Itzel2124441Vizcarra Godínez Israel Andrés217982920/05/2011Ing. Gabriela Mota R

1

Page 2: Introduccion_a_VHDL_Pra03_

Lab. de Diseño Lógico Práctica No. 3

UNIVERSIDAD AUTÓNOMA DE GUADALAJARA

LABORATORIO DE DISEÑO LÓGICO

PRÁCTICA # 3: INTRODUCCIÓN AL LENGUAJE VHDL

OBJETIVOS:3.1 El alumno utilizará el software Warp para el diseño con lógica programable3.2 El alumno utilizará la herramienta de simulación del software.

VHDL

ANTECEDENTES TEÓRICOS:

Los dispositivos lógicos programables (PLD) se utilizan en muchas aplicaciones para reemplazar a los circuitos MSI, ya que ahorran espacio y reducen el número de dispositivos en un determinado diseño. Existen cuatro tipos de dispositivos que se clasifican como PLD: la memoria programable de sólo lectura (PROM), la matriz lógica programable PLA, la matriz lógica programable PAL y la matriz lógica genérica, GAL. Esta última se puede programar una y otra vez, ya que usa tecnología E2CMOS (Electrically Erasable CMOS, CMOS borrable eléctricamente), en lugar de tecnología bipolar y fusibles como los demás PDLs.

VHDL: Es un lenguaje que se creó para el diseño, modelado y documentación de circuitos complejos.

Warp6.0 es una herramienta para el diseño con lógica programable creada por Cypress Semiconductor, la cual procesa varios tipos de entrada de datos (captura esquemática, compilador estándar de VHDL y la combinación de ambos) haciéndola muy flexible y funcional. Ofrece una interfaz gráfica (Galaxy) amigable con el usuario.

En la parte correspondiente al hardware, Warp permite la grabación en diferentes familias de dispositivos lógicos programables; por ejemplo PLD (22V10, 20V8 y 16V8), CPLD (de la serie Cypress FLASH370), etc.

BIBLIOGRAFÍA: MAXINEZ, DAVID G., ALCALÁ, JESSICA

VHDL, El arte de programar sistemas digitalesCECSAMéxico 2002

TORRES VALLE, FRANCISCO JAVIER Síntesis y descripción de circuitos digitales utilizando VHDL (4. Descripción de circuitos digitales) Documento PDF UAG, México 2002

http://www.uag.mx

2

Page 3: Introduccion_a_VHDL_Pra03_

Lab. de Diseño Lógico Práctica No. 3

PREGUNTAS

1.- Nombre los cuatro dispositivos clasificados como PLD´s.GAL PLD

2.- ¿Qué significan los acrónimos PLD y VHDL?VHSIC es el acrónimo de Very High Speed Integrated Circuit y HDL es a su vez el acrónimo de Hardware Description Language. , Programmable Logic Device

3.- ¿Qué es la herramienta Warp6.0?, ¿cuál es la interfaz gráfica?Interfaz para programas circuitos programables , comunicación maquina usuario

PROGRAMACIÓN

EQUIPO: 1 PC con el programa Warp de Cypress instaladoPROCEDIMIENTO:

Para iniciar Warp:Es necesario tener instalada esta herramienta para utilizarla.En este software se encuentra la interfaz gráfica Galaxy, el simulador Nova, las notas técnicas Release Notes y la barra de herramientas Warp Toolbar.

Galaxy, interfaz gráfica del usuario.Permite la interacción entre el usuario y la herramienta de trabajo. En ella se realiza la edición, compilación y síntesis de los archivos escritos en código VHDL.1) Entrar al menú de WARP y seleccionar Galaxy.

Creación inicial de un proyecto. CREACIÓN DE PROYECTOS EN WARP

1.- Una vez iniciado Windows haz click en el botón de inicio, selecciona Cypress > Warp R6.0 > Galaxy

2.- Cuando te encuentres dentro de Galaxy selecciona File > New

3.-Debe aparecer un cuadro de diálogo como el que se muestra a continuación. Para crear un proyecto con el que quieres programar un dispositivo debes seleccionar la segunda opción (Project [Target-Device]).

3

Page 4: Introduccion_a_VHDL_Pra03_

Lab. de Diseño Lógico Práctica No. 3

4.- Escribe el nombre para tu proyecto, puedes utilizar tu apellido por ejemplo. En el segundo cuadro de texto te pide que especifiques un directorio, crea uno nuevo en c: con el mismo nombre que tu proyecto para que lo encuentres fácilmente. Cuando hayas terminado de especificar los nombres haz click en el botón Siguiente.

5.- Aparecerá una ventana que se usa cuando ya tienes archivos que agregar a tu proyecto, por esta ocasión no es necesario especificar nada dentro de esa ventana, da click en Siguiente.

4

Page 5: Introduccion_a_VHDL_Pra03_

Lab. de Diseño Lógico Práctica No. 3

6.- En la siguiente ventana se especifica el PLD con el que vas a trabajar. El 22V10 está en la ventana de SPLD. Doble click sobre este texto y aparecerá una lista de los PLD-s más comunes.Selecciona C22V10 y luego PALCE22V10-25PC/PI

7.- Haz click en Finalizar y guarda el nuevo proyecto. Haz click en Sí.

8.- Ahora ya tienes un nuevo proyecto donde se encuentra suficiente información para que el compilador te genere el archivo .jed.Falta agregar el código que habrá de compilarse. Selecciona File > New > TextFile.

Escribe lo siguiente dentro del archivo de texto

library ieee;

Guarda el archivo de texto en la carpeta que creaste en el paso 4, elige el mismo nombre de tu proyecto y agrega la extensión .vhd

Ejemplo: nuevo.vhd

9.- Selecciona Project > Add Files y te aparecerá una ventana que debe tener tu archivo. Haz click en Add y OK.

10. Tu archivo de texto se ha convertido en un archivo de VHDL y está dentro de tu proyecto, todo lo que programes será compilado en el dispositivo PLD que especificaste. En tu archivo de texto observa que la

5

Page 6: Introduccion_a_VHDL_Pra03_

Lab. de Diseño Lógico Práctica No. 3

palabra library está en color azul porque es una palabra reservada. Esto demuestra que has hecho correctamente el procedimiento.

11. Si la configuración de colores es la normal notarás que todas las palabras reservadas están es azul y los comentarios en color rojo. Para escribir un comentario se pone doble guión -- comentario.

Ahora ya puedes empezar a hacer tu descripción en VHDL.

Descripción en VHDL. Son dos ejercicios

1) Realizar un programa que describa la operación de las compuertas lógicas de la siguiente tabla. Utilice como entradas A y B.

Las salidas serán:Salida Operación Lógica

W ANDX NANDY NORZ XOR

Teniendo la ecuación y los pasos 2 al 12 comenzamos por añadir librerías, definir una entidad y definir la arquitectura de nuestro programa.

Utilice el ejemplo “mi primer programa” para hacer la programación.

--mi primer programa....

LIBRARY ieee;USE ieee.std_logic_1164.ALL;

ENTITY entity_name IS PORT (name : mode type ;...

name : mode type) ;

END entity_name;

ARCHITECTURE arch_name OF entity_name ISBEGIN

-- sentencias VHDL

END arch_name;

Por último, compilar el proyecto: click en Compile < Project

Revisión de errores, y continuar con el proceso de simulación.

6

Page 7: Introduccion_a_VHDL_Pra03_

Lab. de Diseño Lógico Práctica No. 3

2) Realizar un programa que resuelva el siguiente caso:

En una determinada planta de procesamiento se emplea un elemento químico líquido en un proceso de fabricación. Dicho elemento químico se almacena en 3 tanques diferentes. Un sensor de nivel en cada tanque genera una tensión a nivel ALTO cuando el nivel del líquido en el tanque cae por debajo de un punto especificado.Diseñar un circuito para supervisar el nivel del elemento químico en cada tanque, que indique cuándo el nivel de dos tanques cualesquiera cae por debajo del punto especificado.

Utilice el siguiente espacio para diseñar el circuito lógico (dibuje el circuito lógico con compuertas).

Obtener la ecuación booleana que se va a expresar en VHDL.

PARTE II SIMULACIÓN

A) El proceso de simulación consta de los siguientes pasos:

1.- Abrir el programa ACTIVE-HDL Sim. Para cargar el archivo selecciona abrir “open VHDL” dentro del menú File.

7

A B C

CIRCUITO LÓGICO

Indicador

Page 8: Introduccion_a_VHDL_Pra03_

Lab. de Diseño Lógico Práctica No. 3

2.- El archivo debe estar ubicado en el subdirectorio VHD dentro del directorio de trabajo del proyecto. Cuando el archivo es cargado correctamente debe aparecer el siguiente mensaje:

Compile success 0 errors 0 warnings Analysis time 0.3 [s].

3.- Agregar señales:Selecciona Add Signals en el menú Waveform. Puedes agregar varias señales seleccionándolas mediante la tecla ctrl y haciendo click sobre cada señal que se va a agregar. Selecciona sólo las señales que declaraste en tu programa y haz click en Add.

4.- Agregar los estímulos a las señales:Selecciona Waveform > Stimulators

A cada señal se le va a agregar un estímulo de tipo Hotkey para que responda a una tecla distinta y cambie entre los valores cero y uno. Esto sólo para las variables de entrada: escoge una tecla con la que quieres que cambie y dale Apply y cierra la ventana.

5.- Corriendo la simulación:Escoge Simulation > Run For o bien, la tecla F5 para correr el programa.

6.- Realice la tabla de verdad del diseño anterior y compruebe con las señales de entrada y de salida de su proyecto simulado.

Es necesario dar valores a las variables de entrada y observar el nivel lógico de la salida.

B) REPORTAR LO SIGUIENTE programa, REPORTE de la de la simulación (formas de onda). Las preguntas con sus respuestas. Sus conclusiones.

PROGRAMA 1library ieee;USE ieee.std_logic_1164.ALL;

ENTITY mi_primer_programa IS PORT (A,B: IN STD_LOGIC ;W,X,Y,Z:OUT STD_LOGIC

          ) ;

END mi_primer_programa;

ARCHITECTURE arch_mi_primer_programa OF mi_primer_programa ISBEGIN

W<=A and B ;X<=A NAND B;Y<=A NOR B;Z<=A XOR B;

8

Page 9: Introduccion_a_VHDL_Pra03_

Lab. de Diseño Lógico Práctica No. 3

END arch_mi_primer_programa;

PROGRAMA 2 library ieee;USE ieee.std_logic_1164.ALL;ENTITY andres IS PORT (  A, B, C: in bit;  X: out bit);END andres;ARCHITECTURE circuito OF andres ISBEGIN  X <= (A and B) or (A and C) or (B and C);END circuito;

Conclusiones

Excelente practica se aprendió a utilizar VHDL y como declara entity y architecture se cumplieron los objetivos de dicha practica y se obtuvieron resultados satisfactorios

9

Page 10: Introduccion_a_VHDL_Pra03_

Lab. de Diseño Lógico Práctica No. 3

1