Sei sulla pagina 1di 24

MANEJO DE SOFTWARE QUARTUS II LABORATORIO 1 COMPUERTA XNOR INGENIERO DAGOBERTO RODRIGUEZ CEDEO

OBJETIVOS
Manejar adecuadamente el software para implementacin de circuitos digitales utilizando Lenguaje Descriptor de Hardware (VHDL). Utilizar Quartus II Web Edition 9.0 como herramienta CAD para crear proyectos y editar cdigos VHDL de circuitos lgicos simples, y luego compilarlos y simularlos para comprobar su funcionamiento.

INTRODUCCIN
El sistema de desarrollo Quartus II es una plataforma de herramientas para el diseo de circuitos digitales sobre dispositivos FPGA y CPLD de Altera. Quartus II provee aplicaciones para la entrada de diseo, sntesis lgica, simulacin lgica, ubicacin y conexionado, anlisis temporal, administracin de potencia y programacin de dispositivos, junto con una variedad de utilitarios y aplicaciones adicionales para el diseo lgico programable. En esta prctica se presenta al programa Quartus II Web Edition v9.0 de Altera Corp. El propsito de esta prctica es presentar la interfaz de usuario de Quartus II, y sus caractersticas y metodologas de diseo bsicas para la descripcin VHDL, sntesis y simulacin de circuitos digitales. El propsito de un diseo en VHDL para sntesis con lgica programable es obtener un circuito lgico sobre un dispositivo de lgica programable a partir de una descripcin VHDL. Para ello, se sigue un proceso determinado por un flujo de diseo, donde se indica cada fase del desarrollo del circuito digital.

FLUJO DE DISEO
Cuando se disean circuitos digitales con VHDL como entrada de diseo y con dispositivos de lgica programable como objetivo, el flujo tpico de diseo, utilizando herramientas CAD, cubre las siguientes tareas:

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 1

1. Primero se ingresa el cdigo VHDL que representa la descripcin del funcionamiento del circuito. El programa provee plantillas de cdigos comunes que ayudan a reducir el nmero de errores de sintaxis. 2. Luego se compila la descripcin para llegar a obtener un archivo de configuracin o programacin del FPLD. 3. Usualmente, se simula la lgica y la temporizacin del circuito, as como se realizan varios tipos de anlisis incluyendo potencia elctrica y riesgos lgicos. 4. Finalmente, se programa y verifica elctricamente que el FPLD funcione de acuerdo a las especificaciones. En esta gua veremos compilacin a partir de cdigo VHDL y simulacin de los circuitos lgicos obtenidos. El compilador, Compiler, consta de varios mdulos, entre los que se encuentran: 1. Analysis and Synthesis (anlisis y sntesis). Analiza el diseo, construye una base de datos, optimiza el diseo para el dispositivo elegido, y mapea la tecnologa para el diseo lgico. 2. Fitter (organizador y armador). Construye el circuito lgico sobre el dispositivo seleccionado para el proyecto. Coloca y conecta el diseo. 3. Assembler (ensamblador). Crea una imagen de programacin del dispositivo para configura el dispositivo. 4. Timing Analyzer (analizador de tiempos). Analiza los retardos y temporizaciones del circuito. 5. Design Assistant (asistente de diseo). Revisa la confiabilidad del diseo basado sobre un conjunto de reglas de diseo. Es un mdulo opcional. Puedes ver el flujo de diseo en operacin en la ventana Tasks del programa. Cada mdulo puede ser configurado de acuerdo a los objetivos de diseo. Tambin, algunos mdulos pueden ser deshabilitados si no se requieren por el momento. El simulador, Simulator, determina los valores de las funciones de salida de acuerdo a los valores de las seales de entrada y estados de las seales internas del circuito. Permite depurar la lgica del circuito as como conocer los retardos de propagacin de las seales por el circuito. Esta herramienta ayuda a reducir el tiempo de diseo.

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 2

El flujo de diseo bsico comprende las siguientes fases: a) Inicio del programa b) Proyecto de diseo c) Descripcin del circuito d) Compilacin de la descripcin VHDL e) Edicin de ondas para la simulacin f) Simulacin lgica y temporal La gua finaliza con un ejercicio de diseo con el propsito de validar el aprendizaje de esta prctica de laboratorio. La primera vez que se inicia el programa aparece la ventana siguiente:

Al pulsar el botn Open Interactive Tutorial se ejecuta un tutorial interativo de introduccin a Quartus II. Para continuar, pulsa el botn izquierdo del ratn sobre el aspa (Cerrar) en la parte superior derecha de la ventana.

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 3

Cuando entramos aparece la siguiente interfaz grafica:

Contiene lo siguiente:

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 4

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 5

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 6

METODOLOGIA
Todos los diseos de circuitos en Quartus II se administran como proyectos. Los proyectos incluyen los archivos de diseo y de configuracin junto con otros que Quartus II crea para llevar a cabo sus tareas. En los pasos siguientes vamos a establecer el nombre del proyecto, el directorio de trabajo, bibliotecas y archivos de proyectos, el dispositivo donde se construir el circuito y las herramientas EDA adicionales para el proyecto. Algunas opciones disponibles no sern utilizadas por ahora. Se utilizar como ejemplo un proyecto muy simple: compuerta XNOR. 1. Para crear un nuevo proyecto elije del men File la opcin New Project Wizard Esta aplicacin gua paso a paso a configurar un nuevo proyecto.

3. Aparecer una ventana para ubicar el nombre del proyecto y directorios de trabajo. Selecciona un directorio para el proyecto y escribe los nombres del proyecto y del archivo de mayor jerarqua en el proyecto. Como se trata de un proyecto de una compuerta XNOR, escribe PuertaXNOR. Luego pulsa en Next.

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 7

4. En la nueva ventana pueden adicionarse al proyecto archivos ya hayan sido creados. Como recin empezamos no tenemos archivos previos, por lo tanto, pulsa en Next. 5. En esta nueva ventana podemos seleccionar el dispositivo sobre el cual se crear el circuito lgico. Usaremos el EPM7128SLC84-15 que pertenece a la familia MAX7000S. Coloca los valores mostrados en la figura y luego pulsa en Next.

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 8

6. En esta ventana se seleccionan las herramientas EDA de otros programas. Utilizaremos las propias herramientas de Quartus por el momento. Pulsa en Next.

7. Finalmente, aparece el resumen del proyecto creado. Pulsa en Finish.

El proyecto est listo y ahora crearemos el archivo de entrada de diseo con VHDL. Nota: Despus de crear un proyecto puedes modificar los parmetros previos y establecer ms detalles de configuracin para el proyecto. Para ello, elige Settings del men Assignments y establece los nuevos parmetros navegando sobre las opciones de la ventana.

A EMPEZAR
Ahora crearemos un archivo para la descripcin del circuito en VHDL.

1. Del men File elige New.., o presiona juntas las teclas Ctrl y N. 2. Aparecer una ventana para elegir el tipo de archivo. En la ventana selecciona VHDL File del grupo Design Files. Luego pulsa en OK.

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 9

3. Del men File elige Save As, Guarda el archivo con el nombre PuertaXNOR.

Mantn activada la opcin formar parte del proyecto.

para que el archivo pase a

4. Escribe el texto VHDL siguiente: (Recuerda guardar peridicamente los cambios que se realicen).

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 10

NOTA: Puedes utilizar plantillas para facilitar la edicin del texto y reducir los errores de sintaxis. Del men Edit elige la opcin Insert Template
Expande el grupo VHDL y explora las plantillas que te ofrece el programa. En la figura de la siguiente pgina se muestra una plantilla para la entidad. Una vez que hayas seleccionado una plantilla pulsa sobre el botn Insert para insertar el texto en tu archivo VHDL. Ubica en tu archivo VHDL el lugar para insertar otra plantilla, vuelve a la ventana de plantillas y selecciona la plantilla y vuelve a pulsar en Insert.

Cuando hayas terminado de ingresar plantillas presiona en Close. Observe la siguiente imagen:

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 11

COMPILACION
En la fase de compilacin se verifica que el texto VHDL cumpla con la sintaxis y semntica del lenguaje. Adems, el compilador crea un conjunto de archivos que representan versiones lgicas del texto VHDL. Las ecuaciones generadas por el compilador pueden verse en el reporte del compilador.

Para activar esta opcin, del men Tools selecciona Options Aparecer un cuadro de dialogo. En el grupo General, elige Processing. Activa la opcin botn OK. . Luego pulsar en el

Ahora compilaremos el diseo VHDL. Del men Processing selecciona Start Compilation. Tambin puedes presionar simultneamente las teclas Ctrl y L, o pulsar sobre Si pide guardar los cambios en el archivo realizarlo. Si el cdigo esta correcto aparece lo siguiente:

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 12

Si ocurren errores, el compilador los menciona en la barra de mensajes. Si al compilar aparecen errores, revisar lo que haya escrito en el cdigo VHDL. Se observa que el diseo utiliza siete pines (de 68 en total) y una macrocelda (de 128 en total). El diseo tiene dos entradas y una salida, es decir, tres pines, entonces Por qu el compilador dice que se utilizan siete pines? Sucede que est sumando cuatro pines que se emplean para la programacin del circuito a travs del estndar JTAG (ver imagen).

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 13

Se puede conocer detalles de la compilacin seleccionando los temas del reporte. Por ejemplo, las expresiones lgicas finales determinadas por el compilador puedes verlas en la seccin Equations de Fitter.

Otra aplicacin til es el visualizador del circuito RTL (Register Transfer Level), que es un diagrama de circuito esquemtico equivalente o muy cercano a la descripcin VHDL. Para ver este circuito RTL, del men Tools elige el submen Netlist Viewers y luego la opcin RTL Viewer.

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 14

EDICIN DE ONDAS
Ahora se creara un archivo de ondas de simulacin para comprobar el funcionamiento del circuito lgico XNOR. Indicaremos solamente los vectores de prueba de las entradas. El simulador obtendr los resultados que podrn observarse igualmente, de manera grfica, en la ventana de ondas. 1. Del men File elige New o presiona juntas las teclas Ctrl y N. En la ventana que aparece elige Vector Waveform File y luego dar clic en OK.

Aparecer una ventana para insertar las seales y sus patrones de onda. Al lado izquierdo se encuentra una barra de herramientas para la edicin de ondas. En el centro se insertan las seales y en la parte derecha se forman las ondas. En la parte superior, los casilleros muestran datos de tiempos e intervalos; ellos cambian automticamente con la posicin del cursor de lnea azul y del cursor del ratn.

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 15

NOTA: Es posible liberar la ventana de simulacin del entorno de ventanas del programa si desea, en el men Window elige Detach Window o pulsa sobre el botn de la barra de herramientas vertical situada al lado izquierdo de las seales. 2. Guarda el archivo con el mismo nombre del proyecto. Nota que el tipo de archivo es vwf por defecto. As debe mantenerse. A continuacin, formaremos el patrn de ondas para las seales a y b. El simulador obtendr una respuesta para x. El intervalo mnimo ser de 100 ns. De este modo, cuatro combinaciones requerirn de 400 ns de simulacin. Estas combinaciones se repetirn una vez, lo cual dar un tiempo total de 800 ns de simulacin. Ahora comenzaremos a editar el archivo. 3. Bajo el campo Name del editor de ondas, pulsa el botn derecho del ratn. Aparecer un men flotante. Selecciona Insert y luego InsertNode or Bus Aparecer un cuadro de dialogo para insertar los nombres de las seales. Pulsa sobre el botnNode Finder para buscar los nombres. 4. Aparecer otro cuadro de dialogo para filtrar y seleccionar las seales que se insertarn en la simulacin. En la lista desplegable Filter selecciona la opcin Pins: all , y luego dar clic en el botn List. Selecciona todas las entradas y salidas pulsando en el botn y despus dar clic en OK (ver imagen).

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 16

5. En el cuadro de dialogo que aparece, selecciona la representacin de valores en binario eligiendo Binary en la lista desplegable Radix, . Luego dar clic en OK. 6. Para fijar un tiempo de simulacin total de 800 ns, selecciona End Time del men Edit. Luego, en la casilla Time especificar 800 ns y dar clic en OK.

7. Cambiaremos los valores en mltiplos de perodos de 100 ns. Selecciona Grid Size del men Edit. Luego, especifica el perodo como 100 ns (ver imagen).

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 17

NOTA: Podemos hacer que el tiempo de simulacin se vea completo en la ventana. Selecciona Fit in Window del men View, o tambin mantn presionada la tecla Ctrl mientras pulsas la tecla W. 8. Ahora comenzaremos a dar valores a las seales por perodos de tiempo. Formaremos en primer lugar la seal a como una seal peridica de 200 ns de perodo con ciclo de trabajo de 50%, es decir, 100 ns en baja y 100 ns en alta. Selecciona el canal de la seal a pulsando sobre el botn izquierdo de su nombre. al lado

En la barra de herramientas selecciona el botn de reloj . Aparecer una ventana para crear un patrn de onda peridico. Especifica un perodo de 200 ns. Luego dar clic en OK. El patrn de ondas de la seal b puede obtenerse de manera similar, sin embargo, usaremos otro mtodo. Presiona el botn izquierdo del ratn sobre la interseccin del canal b con la lnea de tiempo de 200 ns. Sin dejar de presionar el botn, arrastra el ratn sobre el canal b hasta la lnea de 400 ns y libera el botn. Pulsa sobre el botn y 400 ns quedar en 1. de la barra de herramientas. El perodo entre 200

De igual manera, coloca la seal b en alta entre 600 y 800 ns.

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 18

Recuerda guardar peridicamente los archivos que este editando.

SIMULACIN FUNCIONAL Y TEMPORAL


Vamos a simular este circuito de dos maneras diferentes. La primera ser una simulacin funcional y la segunda una simulacin con modelos de retardos llamada simulacin temporal, ms cercana a la realidad. La simulacin funcional sirve para comprobar la lgica del circuito, sin retardos en la propagacin de las seales, mientras que la simulacin temporal permite conocer los retardos mximos que pueden presentarse cuando las seales se transmiten de un punto a otro del circuito. Para realizar una simulacin funcional lleva a cabo los siguientes pasos:

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 19

Al culminar el proceso aparecer el mensaje siguiente:

Dar clic en Aceptar.

Observa los resultados de la simulacin funcional. Nota que la salida cambia inmediatamente con las entradas. Comprueba que la seal x sea la funcin lgica XNOR de las seales a y b en todo momento (ver imagen).

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 20

Ahora realizaremos la simulacin temporal, que toma en cuenta los modelos de retardos del dispositivo lgico seleccionado para el proyecto. 1. Nuevamente elije Simulation Tool del men Processing o trae al frente la ventana del simulador. En la ventana del simulador, elige el modo de simulacin temporal .

2. Presiona en

. Comenzar la simulacin temporal.

Al culminar el proceso aparecer el mensaje siguiente:

Dar clic en Aceptar.


3. Para ver los resultados de la simulacin dar clic en .

Aparecer un mensaje para confirmar la actualizacin del archivo de ondas. Dar clic en el botn SI (ver imagen).

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 21

Nota que ahora la seal de salida no cambia inmediatamente; ahora existen retardos. Dar clic en el botn y luego pulsa los botones izquierdo o derecho sobre la zona de ondas para ampliar o reducir la vista de las seales, respectivamente. Ubica los cursores (cursor azul y cursor del ratn) para determinar el retardo, el cual se muestra en la casilla Interval. Se observa que el retardo es de 15 ns. Este retardo tambin puede ser conocido sin realizar la simulacin temporal. En el reporte de la compilacin aparece en la seccin tpd de Timing Analizer (ver imagen).

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 22

En sucesivas compilaciones y simulaciones puedes utilizar los botones de la barra de herramientas superior para ejecutarlas con las opciones previas. Para recuperar proyectos anteriores consulta en el submen Recent Projects del men File.

PARA LAS PRCTICAS TENGA EN CUENTA:


1. Crear un directorio para cada una de las prcticas. 2. Describe el circuito con expresiones lgicas. Incluye comentarios. 3. Compila para el mismo dispositivo del ejemplo anterior. Escribe un resumen de la compilacin y agrgalo como comentario en el archivo VHDL. 4. Analiza el circuito RTL. Incluye tus comentarios en el archivo VHDL. 5. Realiza las simulaciones lgicas y temporales. Luego de la simulacin lgica realice una copia del archivo.vwf como archivoLogico.vwf y luego realice una simulacin temporal con el archivo original. Agregar los comentarios en el archivo VHDL. 6. Elabora el reporte correspondiente agregando los siguientes archivos: a) Archivo de proyecto: archvivo.qpf b) Archivo de opciones del proyecto: archivo.qsf c) Archivo de descripcin VHDL: archivo.vhd d) Archivo de simulacin lgica: archivoLogico.vwf e) Archivo de simulacin temporal: archivo.vwf

MATERIAL Y EQUIPO NECESARIO


Computadora personal con Software Quartus II Web V9.0

SUGERENCIAS DIDCTICAS
Esta prctica se puede realizar en casa o donde se tenga acceso a una PC. Mostrar al profesor la evidencia de manejo del programa. Es conveniente que esta prctica se realice en forma individual. En la presentacin de la prctica, el profesor debe cuestionar al alumno referente al manejo del programa.

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 23

REPORTE DEL ALUMNO


Los alumnos entregarn un reporte individual de la prctica que contenga los archivos generados en el diseo, compilacin y simulacin. Este reporte se realizar acuerdo a los lineamentos que se establecieron en la introduccin de este manual.

BIBLIOGRAFA:
1. Volnei A. Pedroni, Circuit Design with VHDL. 2. Roth, Charles H. Fundamentos de Diseo Lgico. Ed. Thomson. 3. John F. Wakerly, Diseo digital, principios y prcticas 4. Manuales de datos TTL y CMOS (Texas Instruments) 5. www.altera.com/literature/manual/mnl_qts_quick_start.pdf (Gua rpida de Quartus II) 6. www.altera.com 7. Uyemura, John P. Introduccin al Diseo de Sistemas Digitales. Ed. Thomson. 8. Esparza A. Miguel ngel. Instituto Tecnolgico de Durango.

Ingeniero Dagoberto Rodrguez Cedeo

Pgina 24

Potrebbero piacerti anche