Está en la página 1de 6

FLUJO DE DISEÑO EN EL SOFTWARE

QUARTUS PRIME

Concepción de diseño

La Figura 01 muestra un circuito secuencial básico (un contador de décadas), el cual se


desea diseñar en el software Quartus Prime y se desea implementar en la tarjeta DE1-SoC.

Figura 01.- Circuito contador de décadas.

Creación de un nuevo proyecto

• Crear un directorio en el disco duro, en el cual se guardará el proyecto que


desarrollaremos. Colocar al directorio el nombre “Circuito_de_Prueba”.

• Ingresar al software Quartus Prime, ir al menú File y seleccionar la opción File →


New Project Wizard. Aparecerá una primera ventana, donde deberemos hacer clic
en Next.

• En la siguiente ventana debemos indicar el nombre del proyecto y el directorio donde


se ubicará. Nombrar al proyecto como “Circuito_Ejemplo” y seleccionar como
ubicación la carpeta “Circuito_de_Prueba”, la cual fue creada previamente. Luego,
hacer clic en Next.

• Cuando nos pregunten por el tipo de proyecto, seleccionar la opción Empty Project
y hacer clic en Next. Luego, cuando pregunten si se desea añadir archivos,
simplemente hacer clic en Next (por el momento no se cuenta con archivos para
incluir en el proyecto).

• En la siguiente ventana debe especificarse el dispositivo (FPGA/CPLD) que se


empleará. Para esto se debe revisar el manual de la DE1-SoC, donde está
especificada la familia y el dispositivo: familia Cyclone V, nombre 5CSEMA5F31C6.
Al ingresar el nombre del dispositivo en el campo “Name filter” solo debe quedar una
opción disponible en la lista de la parte inferior. Seleccionar la opción
correspondiente, y hacer clic en Next.

• Finalmente, aparecerá una pantalla donde se debe especificar algunas herramientas


adicionales que se van a utilizar. Específicamente, se debe configurar la herramienta
de simulación: el nombre de la herramienta debe ser ModelSim-Altera y el formato
de esta herramienta debe ser VHDL. Luego de verificar la configuración, hacer clic
en Next. Aparecerá una ventana con un resumen de toda la configuración, hacer clic
en Finish.

Entrada de diseño

• Ir al menú File y seleccionar la opción File → New. Aparecerá una ventana donde
deberá elegir la opción VHDL file.

• Tomando como referencia la siguiente plantilla, y los ejemplos proporcionados por


el profesor, elaborar un código VHDL que describa el circuito ógico deseado.
Guardar el archivo con el nombre Circuito_Ejemplo.vhd.

NOTA: Es muy importante que tanto el nombre de la entidad como el nombre del archivo
sean iguales al nombre del proyecto (Circuito_Ejemplo); de lo contrario, el proyecto no podrá
compilarse.

• Luego de guardar el archivo, hacer clic en el botón Start Analysis & Elaboration,
ubicado en la barra de herramientas de Quartus. Si el código contiene errores, en la
parte inferior de la pantalla aparecerá un mensaje indicándolo; de lo contrario,
aparecerá un mensaje indicando que el análisis y la elaboración se llevaron a cabo
de manera exitosa.

• Ir al menú Tools y seleccionar la opción Tools → Netlist Viewers → RTL Viewer.


Debe aparecer una ventana con un circuito esquemático genérico a nivel RTL
(Register Transfer Level). Si el código es correcto, debe visualizarse un circuito
esquemático equivalente al mostrado en la Figura 02.

Figura 02.- Diagrama RTL esperado.

Síntesis

• Antes de sintetizar el circuito, se debe configurar las herramientas de simulación. Ir


al menú Assignments y hacer clic en la opción Assignments → Settings. Aparecerá
una ventana donde, en la parte izquierda, deberá hacer clic en la opción EDA Tools
Settings → Simulation. Aparecerá una ventana donde podemos verificar que la
herramienta de simulación es ModelSim-Altera y que el lenguaje empleado para la
simulación es VHDL. Hacer clic en el botón More EDA Netlist Writer Settings … y
habilitar la opción “Generate functional simulation netlist”. Hacer clic en Apply y luego
en OK.

• Hacer clic en el botón Start Analysis & Synthesis, ubicado en la barra de


herramientas de Quartus y esperar a que la síntesis se complete. Verificar que el
proyecto se sintetice sin errores.

Simulación funcional

• Luego, ir al menú File y seleccionar la opción File → New. Aparecerá una ventana
donde deberá elegir la opción University Program VWF. Al hacer esto, aparecerá la
pantalla del editor de ondas para la simulación.

• Una vez en el editor, ir al menú Edit y seleccionar la opción Edit → Insert → Insert
Node or Bus. Aparecerá una ventana, donde se debe hacer clic en el botón Node
Finder.

• Aparecerá una nueva ventana, donde se debe hacer clic en el botón List. Esto hará
que aparezcan todas las entradas y salidas del circuito diseñado. Se deben agregar
todas estas señales a la simulación, mediante el botón “>>” y luego hacer clic en OK.

• Configurar el tiempo de la simulación (Edit → Set End Time) a 32 microsegundos y


verificar que el tamaño del grid (Edit → Grid Size) sea de 10 nanosegundos.

• En cada señal de entrada, emplear la opción Edit → Value → Overwrite Clock para
ingresar una señal cuadrada de determinada frecuencia para cada una de ellas.
Aplicar el siguiente periodo: clk → 4 us.
• Ir al menú Simulation y seleccionar la opción Simulation → Simulation settings.
Aparecerá una ventana donde deberá verificar que el lenguaje HDL empleado sea
VHDL. Hacer clic en el botón Save.

• Volver a la pantalla del editor de señales, hacer clic en el botón Run Functional
Simulation, guardar el archivo de simulación con el nombre que recibe por defecto,
y esperar que el proceso se complete.

• Si todo salió bien, debe visualizarse la simulación de la salida q, similar a lo que se


ve en la Figura 03 ¿El circuito se comporta como se había previsto? ¿La salida q
cambia en el mismo instante que aparece el flanco de activación?

Figura 03.- Resultado de la simulación funcional.

Simulación en el tiempo

• Antes de llevar a cabo una simulación en el tiempo, es encesario llevar a cabo la


etapa de Fitting (implementación) y de Timing Análisis (análisis en el tiempo). Para
hacer esto, es necesario volver a la ventana principal de Quartus y hacer clic en la
opción Start Compilation y esperar que el proceso se complete.

• Una vez que el proceso se haya completado, volver a la pantalla del editor de formas
de onda y, esta vez, hacer clic en el botón Run Timing Simulation. Esperar a que el
proceso se complete.

• Observe la forma de onda de la salida y aplique un zoom en la zona donde la salida


c cambia su valor. Responda las siguientes preguntas:

¿La salida q cambia su valor en el mismo instante que aparece el flanco de


activación?

¿A qué se debe este comportamiento?

NOTA: El software Quartus Prime no brinda soporte de simulación en el tiempo para la


familia Cyclone V ni para la familia MAX 10. Por lo tanto, no será posible realizar la
simulación en el tiempo con la configuración actual. Para esto tendríamos que cambiar la
configuración del dispositivo empleado en el proyecto a uno que sea soportado, por ejemplo:
familia MAX II, nombre EPM570T100C5.
Programación y configuración

• Cerrar la ventana del editor de formas de onda y volver a la pantalla principal de


Quartus. Una vez ahí, dentro del menú Assignments seleccionar la opción
Assignment → Pin Planner. Aparecerá una ventana como la que se muestra en la
Figura 04.

• Con ayuda del manual de la tarjeta DE1-SoC (páginas 25 y 26), asignar los pines de
las entradas y salidas, de modo que a, b y sel se encuentren conectadas 03 slide
switches y que c se encuentre conectada a un LED.

• Una vez que todas las entradas y salidas tengan pines asignados, cerrar (o
minimizar) la ventana del Pin Planner y hacer clic en el botón Start Compilation.
Esperar a que se complete el proceso.

Figura 04.- Ventana del Pin Planner para la asignación de pines.

• Una vez que la compilación se haya completado, ir al menú Tools y seleccionar la


opción Tools → Programmer. Aparecerá una ventana como la que se muestra en la
Figura 05.
Figura 05.- Ventana del programador.

• Hacer clic en el botón Hardware Setup. Aparecerá una lista con los dispositivos
conectados a la computadora. Si la tarjeta se encuentra correctamente conectada y
energizada, entonces debe aparecer su nombre en la lista (por lo menos debe
aparecer el nombre del programador: USB-Blaser). Seleccionar la tarjeta haciendo
doble clic sobre su nombre, y cerrar la ventana.

• Una vez de regreso en la ventana del programador, hacer clic en el botón Autodetect.
El software intentará identificar el chip que se desea programar, y mostrará una lista
de opciones. Seleccionar 5CSEMA.

• A continuación, hacer clic derecho sobre el nombre del dispositivo (5CSEMA) que
acaba de aparecer sobre la pantalla y seleccionar la opción Change File. Seleccionar
el archivo con extesión .sof que se encuentra en la carpeta output_files, dentro de
la carpeta del proyecto. Al volver a la pantalla del programador, marcar la opción
Program/Configure correspondiente al dispositivo 5CSEMA.

• Finalmente, hacer clic en el botón Start. Una barra verde indicará el progreso:
cuando la barra indique 100% quiere decir que el proceso se ha completado y que
el programa ha sido cargado al dispositivo en la tarjeta DE1-SoC.

• Verificar que el circuito implementado en la tarjeta se comporta tal y como se predijo


en la simulación.

También podría gustarte