Está en la página 1de 13

PRCTICA 4: INTRODUCCIN A LA SIMULACIN Y A LA IMPLANTACIN FSICA CON QUARTUS II V. 9.

0
OBJETIVOS
Al finalizar la prctica el alumno ha de ser capaz de: Simular un circuito usando la herramienta Quartus II, Volcar el archivo de configuracin en la FPGA y verificar su funcionamiento.

MATERIAL
Ordenador personal con Quartus II, Tarjeta de desarrollo de lgica programable.

DURACIN
1 sesin.

TRABAJO PREVIO
Leer el enunciado de la prctica y anotar las dudas. Llevar al laboratorio los esquemas de la prctica anterior.

INTRODUCCIN
Aunque no se le vea utilidad a la fase de simulacin del circuito capturado en la prctica anterior, es muy importante simular los sistemas que se desarrollen. En este caso tan simple se podra descargar el diseo en la tarjeta del laboratorio para comprobar su funcionamiento. Sin embargo, la simulacin presenta varias ventajas: Permite seguir fcilmente la evolucin temporal de todas las seales. Para conseguir ver el mismo nmero de seales en el circuito real necesitaramos un analizador lgico, que es ms caro, voluminoso y delicado. Adems de las entradas y salidas del circuito se pueden analizar seales internas, lo que permite depurar el funcionamiento del circuito ms a fondo.

2 Prctica 4

Tambin se puede simular slo una parte del circuito. Por ejemplo, se podra haber simulado el componente Bina7Seg sin necesidad de haber hecho el esquema superior (Pract3). Esto permite ir probando cada bloque jerrquico del circuito conforme se va construyendo, con lo que la depuracin es mucho ms fcil al tener que centrarse cada vez slo en una pequea parte del circuito, en lugar de enfrentarse al circuito completo. Permite corregir errores en el diseo y comprobar el funcionamiento del mismo sin necesidad de disponer del hardware. Sin embargo no son todo ventajas. Los principales inconvenientes de la simulacin frente a la implantacin fsica son: No se dispone de los elementos de salida. Por ejemplo, en esta prctica, se tendrn que analizar las siete seales que activan el display de siete segmentos y averiguar si el nmero que aparecera en dicho display es el correcto, La especificacin de la evolucin temporal de las seales de entrada puede ser tediosa, En circuitos complejos, la simulacin puede tardar demasiado tiempo en ejecutarse (aunque este caso no se da en este libro). La cuarta fase del desarrollo consiste en volcar el diseo realizado y simulado, en la FPGA. Este volcado no es ms que la escritura del conexionado interno de los LAB (Logic Array Block) de la FPGA entre s, y la configuracin de las macroceldas vistas en la prctica anterior. Antes de comenzar a trabajar, no olvide crear el directorio de trabajo para la prctica de esta sesin y copiar los archivos generados en la prctica del otro da.

DESARROLLO PRCTICO
ABRIR EL PROYECTO CREADO En primer lugar, hay que copiar todos los archivos generados en la prctica anterior al directorio de trabajo de esta prctica. Despus hay que arrancar Quartus II. Para ello hay que elegir la opcin Quartus II 9.0 (32-Bit) que est en la ruta Botn de Inicio -> Programas -> Ingeniera -> Altera -> Quartus II 9.0. Si al arrancar aparece la ventana de la Figura 1, hay que pulsar el botn No, pues en la prctica anterior se cre el proyecto que se va a utilizar en esta prctica.

Figura 1. Ventana al arrancar Quartus II.

3 Prctica 4

A continuacin, hay que abrir el proyecto declarado en la prctica anterior (Pract3.qpf). Para ello, en el men File, hay que escoger la opcin Open Project y seleccionar el archivo Pract3.qpf de la carpeta de trabajo de hoy.

SIMULAR EL PROYECTO COMPILADO


Antes de implantar fsicamente el circuito en la FPGA, se va a simular su funcionamiento con ayuda del entorno Quartus II. ABRIR EL EDITOR DE FORMAS DE ONDA Antes de simular el circuito es necesario definir la variacin temporal de las seales de entrada del circuito, es decir, los valores lgicos que supuestamente van a tener las entradas del circuito en funcin del tiempo, y especificar qu seales se desean visualizar. Para ello, el programa Quartus II, integra un editor de formas de onda conocido como Waveform Editor. Para crear un archivo de simulacin hay que abrir, en primer lugar, una ventana del editor de formas de onda. Para ello hay que elegir la opcin New del men File y en la ventana que aparece (ver Figura 2) hay que seleccionar Vector Waveform File.

Figura 2. Apertura del archivo de formas de onda.

4 Prctica 4

VECTORES DE PRUEBA Una vez que se tiene abierto el editor de formas de onda (vase la Figura 3), lo primero que se tiene que hacer es guardar dicho editor con el nombre Pract3.vwf, para que el editor reconozca las seales de entrada y salida del proyecto. Para ello se escoge la opcin Save As del men File (vase la Figura 4). Asegrese de que la opcin Add file to current project, que est en la parte inferior de la ventana, est activada, para no tener problemas ms adelante.

Figura 3. Archivo de formas de onda recin abierto.

Figura 4. Guardado del archivo de formas de onda.

A continuacin hay que insertar los terminales de entrada y los de salida que se desean visualizar en la simulacin, que para esta prctica son las entradas de la D3 a la D0 y las salidas de la a a la g. Para ello hay que hacer clic con el botn derecho del ratn en la columna Name de la ventana del editor, para desplegar el men pop-up, y seleccionar Insert Node or Bus dentro de la opcin Insert (vase la Figura 5).

5 Prctica 4

Figura 5. Men pop-up para insertar seales.

En la ventana llamada Insert Node or Bus (Figura 6) se pueden introducir los nombres de las seales de entrada o salida manualmente, escribiendo el nombre de la seal, el tipo, etc.., pero en la prctica se va a hacer con el buscador de nodos (Node Finder), pulsando en el botn con dicho nombre, que es ms cmodo y rpido.

Figura 6. Cuadro para insertar terminales manualmente.

En la ventana que aparece (Figura 7) primero hay que decir al programa que muestre todas las variables. Esto se hace eligiendo Pins:all en el cuadro Filter, y despus pulsando el botn List, para que se genere un listado de todas las seales accesibles del diseo.

6 Prctica 4

Figura 7. Ventana para seleccionar los terminales a visualizar.

A continuacin, hay que seleccionar con el ratn, en la lista de la izquierda, las seales del D0 al D3 y pulsar el botn para que las seales seleccionadas pasen a la lista de la derecha (como se muestra en la Figura 7) y, posteriormente, se visualicen en el editor de formas de onda. Repetir la operacin con los nodos del a al g, para poder ver la evolucin de las salidas. Por ltimo pulsar el botn OK para volver a la ventana de la Figura 6, y volver a pulsar OK . En este caso, como queremos simular todas las seales del circuito, se puede hacer lo anterior de una vez pulsando directamente sobre el botn despus de mostrar las seales en la lista de la izquierda. AGRUPAR SEALES EN EL EDITOR DE FORMAS DE ONDAS En muchas ocasiones varias seales componen un bus de forma que los valores de estas seales, convenientemente ordenadas, representan un nmero binario. En estas ocasiones es muy cmodo formar un grupo de seales con todas ellas, para que tanto la visualizacin como la modificacin de las seales se realice de forma numrica, pudindose elegir entre varias bases (BIN, OCT, DEC y HEX) para su representacin. En esta prctica se pueden agrupar las seales de la D3 a la D0 y representar sus valores mediante un nmero en base hexadecimal. Para ello primero hay que asegurarse de que las seales estn ordenadas, en la lista de la ventana, de la ms significativa (arriba) a la menos significativa (abajo). Si no es as, se pueden arrastrar una a una hasta su posicin correcta. Despus hay que seleccionar con el ratn las cuatro seales, pulsar el botn derecho y seleccionar Group de la opcin Grouping del men pop-up (vase la Figura 8).

7 Prctica 4

Figura 8. Opcin para agrupar seales.

Aparecer, entonces, la ventana de la Figura 9, donde se puede introducir el nombre del grupo y la base de representacin de sus valores. Escriba Numero como nombre de grupo y seleccione la representacin hexadecimal, tal como se muestra en la figura.

Figura 9. Ventana para formar un grupo de seales.

SELECCIONAR EL TIEMPO FINAL DE LA SIMULACIN Una vez definidas las seales a visualizar es necesario indicar el tiempo final de la simulacin del circuito, es decir, durante cunto tiempo se quiere simular el funcionamiento del circuito. Para ello, mientras est activa la ventana del editor de formas de onda,1 hay que seleccionar la opcin End Time del men Edit (vase la Figura 10), introducir el tiempo, que en esta prctica va a ser de dos microsegundos (2 us), y pulsar Ok.

Tenga presente que la barra de mens cambia segn la ventana que est activa en cada momento.

8 Prctica 4

Figura 10. Ventana para indicar el tiempo final de simulacin.

SELECCIONAR LA REJILLA DE SIMULACIN El simulador slo permite cambios de las seales de entrada en los bordes de la rejilla predefinida. En esta prctica se va a hacer que el nmero de entrada cambie cada 100 ns, por lo que habr que seleccionar una rejilla con un espaciado de ese valor o mltiplo inferior (1, 2, 4, 5, 10, 20, 25 50 ns). Para ello hay que elegir la opcin Grid Size del men Edit (vase la Figura 11), mientras est activa la ventana del editor de formas de onda, introducir el valor de 100 ns y pulsar Ok.

Figura 11. Seleccin de la rejilla.

ASIGNAR VALORES A LAS ENTRADAS Una vez definidos el tiempo final y la rejilla de simulacin se est en condiciones de dar valores a las entradas del circuito. En este caso interesa que el grupo formado por las entradas D3 a D0 vare desde 0h hasta Fh, para comprobar que el decodificador muestra en el display el valor correcto PARA TODOS LOS VALORES POSIBLES DE LA ENTRADA.

9 Prctica 4

Para ello hay que seleccionar el grupo Numero y pulsar sobre el botn de cuenta , que se encuentra en la barra de botones de la izquierda. Aparecer entonces la ventana de la Figura 12, que tiene dos pestaas: Counting y Timing. En la primera se puede seleccionar la base en la que se quiere contar, el valor inicial de la cuenta, cunto se incrementa, y si se cuenta en cdigo Gray o en Binario. En la pestaa Timing se puede indicar en qu momento de la simulacin comienza la cuenta, hasta cundo dura y cada cunto se incrementa.

Figura 12. Ventana para definir una cuenta en un grupo de seales. Pestaa Counting.

En esta prctica hay que seleccionar la base o Radix en Hexadecimal; como valor inicial el cero (0); el incremento de uno en uno (1); y el tipo de cuenta en Binario, tal y como se muestra en la Figura 12. Y en la pestaa Timing hay que indicar 100 ns en Count Every (vase la Figura 13).

Figura 13. Ventana para definir una cuenta en un grupo de seales. Pestaa Timing.

10 Prctica 4

VISUALIZACIN Y ZOOM Para ver mejor la evolucin de las seales se puede variar el nivel del zoom en el editor de formas de onda con las opciones Zoom In y Zoom Out del men View, o pulsando sobre el icono , el cual con el botn izquierdo del ratn hace un Zoom In y con el derecho un Zoom Out. Antes de terminar hay que guardar en el disco todos los cambios realizados al archivo de simulacin, eligiendo la opcin Save del men File. SIMULAR EL DISEO Una vez definidos los valores de las entradas del circuito en funcin del tiempo de simulacin, se puede simular el comportamiento del circuito. Para ello hay que arrancar el simulador eligiendo la opcin Simulator Tool del men Processing, con lo que aparece la ventana de la Figura 14.

Figura 14. Ventana del Simulador.

Ahora hay que activar la opcin Overwrite simulation input file with simulation results, tal y como se muestra en la figura anterior. Por ltimo, hay que pulsar el botn Start para ejecutar la simulacin. Cuando termine, si todo ha ido correctamente, avisa con un mensaje como el de la Figura 15. Si se produce algn error o aviso (warning), lo indica en el mensaje anterior y lo detalla en la ventana de mensajes, de forma similar a como se muestra en las Figuras 23 y 25 de la prctica 3.

11 Prctica 4

Figura 15. Aviso de finalizacin de la simulacin.

Para observar la evolucin de las salidas del circuito hay que abrir la ventana de simulacin. Para ello hay que pulsar el botn Open de la ventana del Simulador, tras lo cual aparecer una ventana de aviso en la que hay que pulsar el botn S. A continuacin se ver una ventana similar a la de la Figura 16, donde se observa la evolucin temporal de las salidas del circuito en funcin de los valores de las entradas.

Figura 16. Simulacin obtenida.

Como puede observar, cuando la entrada vale 0, todos los segmentos estn activados salvo el g, que es el del centro, con lo que en el display aparecer un 0.2 Cuando la entrada vale 1, slo se activan los segmentos b y c, apareciendo por tanto un 1 en el display. Verifique que, para el resto de valores de la entrada, el circuito funciona correctamente. Si se detecta algn error hay que corregir el esquema del circuito, guardar los cambios, compilar, volver a simular y verificar que el funcionamiento es correcto.

CONFIGURAR LA FPGA CON EL CIRCUITO COMPILADO


Una vez que ha finalizado la simulacin y que se ha comprobado que el circuito se comporta perfectamente, se puede pasar a su implantacin fsica en la FPGA. En primer lugar es necesario conectar la tarjeta de desarrollo de lgica programable del laboratorio al ordenador mediante el cable USB. Despus hay que asegurarse de que el interruptor RUN/PROG que hay a la izquierda de la tarjeta est en RUN (vase la Figura 17).

Tenga en cuenta el alumno que los displays de la tarjeta son activos a nivel bajo, por lo que, un segmento a 0 har que el segmento se encienda y a 1 har que se apague.

12 Prctica 4

Por ltimo, hay que encender la tarjeta pulsando el interruptor rojo que hay en la parte superior izquierda (vase la Figura 17).

Figura 17. Tarjeta de lgica programable del laboratorio.

A continuacin hay que arrancar el Programador de Quartus, que se encuentra en la opcin Programmer del men Tools, con lo que aparecer la ventana de la Figura 18.

Figura 18. Ventana del programador.

13 Prctica 4

Antes de continuar hay que verificar que el programa ha reconocido el hardware de programacin. Para ello hay que mirar si en la parte superior izquierda de la ventana del programador pone USB-Blaster [USB-0] o si pone otra cosa distinta, como No Hardware (tal y como se muestra en la figura anterior). En este ltimo caso hay que configurar el hardware correcto, y para ello hay que pulsar en el botn Hardware Setup, con lo que aparecer la ventana de la Figura 19. A continuacin hay que hacer doble clic en USB-Blaster de la lista Availabe Hardware items y comprobar que en el campo Currently selected hardware aparece USB-Blaster [USB-0]. Una vez hecho esto hay que pulsar el botn Close.

Figura 19. Ventana de configuracin del hardware.

Por ltimo, hay que seleccionar la casilla de la columna Program/Configure, tal y como se muestra en la Figura 18), y pulsar el botn Start para que se descargue el circuito diseado en la FPGA. Si todo ha ido bien, en la ventana de mensajes se debe ver algo como lo mostrado en la Figura 20. Si ha habido algn error, lo muestra en la misma ventana.

Figura 20. Mensajes tras la programacin.

Una vez configurado el circuito en la FPGA hay que probar TODAS las combinaciones posibles de las entradas para verificar si su funcionamiento es correcto. Si se detecta algn error hay que corregir el esquema capturado en la prctica anterior, guardar los cambios realizados, compilar, simular y volver a volcar a la placa, comprobando el correcto funcionamiento en cada paso del proceso. Una vez que el funcionamiento del circuito es correcto en todos los pasos, muestre el resultado al profesor.

También podría gustarte