Você está na página 1de 12

UNIVERSIDAD NACIONAL DE INGENIERIA

FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA



TUTORIAL DE HERRAMIENTA EDA QUARTUS II DE ALTERA

OBJETIVO
El objetivo de este tutorial es ganar familiaridad con la entrada de diseo usando el lenguaje de
descripcin de hardware VHDL, el proceso de compilacin, y el entorno de simulacin de la
herramienta EDA Quartus II de Altera.

TAREAS
Usted va a crear un diseo que implementa una ALU (Unidad Aritmtica y Lgica).
Previamente, se ha creado el archivo de especificacin del diseo en lenguaje VHDL, el cual
puede generarse con un editor como el NOTEPAD, aunque la herramienta Quartus II cuenta
con su propio editor de texto. La extensin del archivo debe ser vhd. Deber verificar los
resultados de las simulaciones funcionales y de tiempos en dos familias de dispositivos de
Altera.

Invocar a la herramienta EDA Quartus II:

Inicio Programas Altera Design Suite 6.1 Quartus II 6.1 Quartus II 6.1 Web Edition

Lo indicado en color rojo es el nombre del Grupo de programas con el cual se ha instalado la
herramienta Quartus II en la PC. Seleccionar adecuadamente el nombre, en base a lo instalado
en su PC. Una vez culminada la carga de la aplicacin en el computador, debe aparecer un
entorno como se muestra en la figura 1.



Figura 1.- Entorno de trabajo de la herramienta EDA Quartus II 6.1 Web Edition

La figura 1 muestra el entorno que se conoce como el Look & Feel de Max+Plus II. Para
obtener este entorno, seleccionar en la barra de mens:

Tools Customize

Entonces aparecer una ventana de dilogo similar a la que se muestra en la figura 2.

Tutorial de Herramienta EDA Quartus II Ing. MSc. Aurelio Morales Villanueva Pg. 1


Figura 2.- Seleccin del Look & Feel en herramienta Quartus II

Solo seleccionar lo indicado en la figura 2, y apretar el botn Aceptar. En ese momento, se
cerrar la herramienta Quartus II. Volverla a ejecutar y aparecer el Look & Feel de Max+Plus
II con el cual se trabajar.

Generar un directorio de trabajo en una unidad lgica del disco duro, por ejemplo
C:\Altera\Trabajos\ALU. Una vez creado el directorio de trabajo, debe crearse un proyecto
usando la herramienta Quartus II. Para esto, ir a la barra de men y seleccionar:

File New Project Wizard

como se muestra en la figura 3. Luego de establecer la seleccin, van a aparecer una serie de
pantallas para definir al proyecto (figuras 4 a 9).



Figura 3.- Creando un nuevo proyecto (1 de 7)

Entonces aparece una primera pantalla para definir el proyecto (ver figura 4). A continuacin
apretar el botn Next >

Tutorial de Herramienta EDA Quartus II Ing. MSc. Aurelio Morales Villanueva Pg. 2


Figura 4.- Creando un nuevo proyecto (2 de 7)

A continuacin, aparece una nueva ventana donde debe especificarse la ubicacin del proyecto
y el nombre del proyecto. Deber seleccionarse como ubicacin del proyecto la unidad de disco
duro y subcarpeta de trabajo que fuera definida para este tutorial. Como nombre del proyecto,
escoger ALU, y como nombre del top level design entity, alu_v1. Ver la figura 5.


Figura 5.- Creando un nuevo proyecto (3 de 7)

Para el siguiente paso, indicar los archivos de diseo que forman parte del proyecto. En este
caso seleccionar el archivo alu_v1.vhd a partir de la ventana de dilogo seleccionando el
botn que contiene ... de File Name y apretar el botn Add... . Para esto, el archivo debe
haberse creado previamente en el directorio de trabajo. El contenido del archivo alu_v1.vhd es
el que se muestra a continuacin:

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
-- The following package is needed so that the STD_LOGIC_VECTOR signals
-- A and B can be used in unsigned arithmetic operations.
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY alu_v1 IS PORT (
S: IN STD_LOGIC_VECTOR(2 DOWNTO 0); -- select for operations
A, B: IN STD_LOGIC_VECTOR(3 DOWNTO 0); -- input operands
F: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); -- output
END alu_v1;

ARCHITECTURE Behavior OF alu_v1 IS

BEGIN

PROCESS(S, A, B)
Tutorial de Herramienta EDA Quartus II Ing. MSc. Aurelio Morales Villanueva Pg. 3
BEGIN
CASE S IS
WHEN "000" =>-- pass A through
F <=A;
WHEN "001" =>-- AND
F <=A AND B;
WHEN "010" =>-- OR
F <=A OR B;
WHEN "011" =>-- NOT A
F <=NOT A;
WHEN "100" =>-- add
F <=A +B;
WHEN "101" =>-- subtract
F <=A - B;
WHEN "110" =>-- increment
F <=A +1;
WHEN OTHERS =>-- decrement
F <=A - 1;
END CASE;
END PROCESS;
END Behavior;

En cualquier caso, si se ha creado o no el archivo alu_v1.vhd, apretar el botn Next > (ver
figura 6).

Figura 6.- Creando un nuevo proyecto (4 de 7)

A continuacin, seleccionar la familia de dispositivo para el proyecto. En este caso seleccionar
la Familia MAX7000S dentro de la ventana de dilogo Family y el dispositivo
EPM7128SLC84-15 dentro de la lista de dispositivos disponibles (Available devices) y apretar
el botn Next > como se muestra en la figura 7.


Figura 7.- Creando un nuevo proyecto (5 de 7)
Tutorial de Herramienta EDA Quartus II Ing. MSc. Aurelio Morales Villanueva Pg. 4


A continuacin, se deben seleccionar las herramientas EDA de otros fabricantes para la
entrada de diseo/sntesis (EDA design entry/sntesis tool), herramienta de simulacin (EDA
simulation tool) y herramienta de anlisis de tiempos (EDA timing anlisis tool). En este caso no
se seleccionar ninguna, ya que se trabajarn con las propias herramientas del Quartus II.
Apretar el botn Next > .


Figura 8.- Creando un nuevo proyecto (6 de 7)

En la ltima pantalla, aparece el resumen de lo seleccionado para el proyecto. Apretar el botn
Finish.


Figura 9.- Creando un nuevo proyecto (7 de 7)

Una vez definido el entorno del proyecto puede apreciarse en el lado izquierdo (Project
Navigator) el nombre del proyecto, y el dispositivo seleccionado. Dndole doble clic al smbolo
alu_v1 debajo de la pirmide en la ventana del Project Navigator aparece una vista similar a
la figura 10.

A fin de poder tener las ventanas mnimas de trabajo, en caso no se obtenga la figura 10
mostrada, seleccionar lo siguiente a partir de la barra de men:

View Utility Windows Project Navigator
View Utility Windows Status
View Utility Windows Messages

Entonces podr darle doble clic al smbolo alu_v1 en la ventana Project Navigator con lo que
se podr apreciar la figura 10. En este momento se gener una archivo ALU.qpf el cual
especifica el proyecto en curso. La extensin qpf especifica Quartus Project File.
Tutorial de Herramienta EDA Quartus II Ing. MSc. Aurelio Morales Villanueva Pg. 5


Figura 10.- Entorno de trabajo de Quartus II una vez definido el proyecto

Si el archivo alu_v1.vhd no hubiera sido creado a la hora de crear el proyecto ALU, crearlo a
partir de la barra de men seleccionando File New

En este momento aparece una ventana de dilogo. Seleccionar la opcin VHDL File, como se
muestra en la figura 11, y apretar el botn OK.



Figura 11.- Creando un nuevo archivo VHDL

Una vez tipeado el contenido que se indicara lneas arriba, salvar el mismo como alu_v1.vhd,
seleccionando para esto el smbolo del diskette , o File Save en la barra de men. Una
vez salvado el archivo, se procede a compilarlo. Primero se verificar que el archivo no tenga
inconsistencias, y luego se compilar. Para analizar las inconsistencias invocar a lo siguiente:

En la barra de men seleccionar Processing Analyze Current File como se muestra en la
figura 12.

Tutorial de Herramienta EDA Quartus II Ing. MSc. Aurelio Morales Villanueva Pg. 6

Figura 12.- Analizar archivo actual por inconsistencias.

Si no se encontraran errores, debera obtenerse un resultado similar al que se muestra en la
figura 13. Apretar el botn Aceptar. De encontrase errores, corregirlos.


Figura 13.- Anlisis exitoso del archivo actual

A continuacin, procedemos a compilar el diseo actual, basado en el archivo alu_v1.vhd.
Para esto, seleccionar de la barra de men: Processing Start Compilation
A continuacin aparece una ventana del Compiler Tool en donde se muestra el progreso de
cada mdulo (Analysis & Synthesis, Fitter, Assembler, y Timing Analyzer). Ver la figura 14.


Figura 14.- Progreso de la compilacin


Tutorial de Herramienta EDA Quartus II Ing. MSc. Aurelio Morales Villanueva Pg. 7
Si la compilacin ha sido exitosa se obtiene un mensaje de aviso indicndolo, como se muestra
en la figura 15. Apretar el botn Aceptar.


Figura 15.- Compilacin exitosa del proyecto

Si se desea, puede visualizar cada uno de los reportes generados por cada uno de los mdulos
mencionados anteriormente, para un mayor anlisis. Para acceder en cualquier momento a los
reportes, seleccionar en la barra de men Processing Compilation Report

Previo a la simulacin del proyecto, debemos verificar el modo de simulacin como ha sido
compilado el proyecto. Esto se puede verificar a partir de la barra de men, seleccionando
Assignments Settings y ubicndonos en la seccin Simulator (ver figura 16).


Figura 16.- Asignaciones para el proyecto alu_v1

Para una simulacin funcional debemos seleccionar Simulation mode = Functional, y para
una simulacin de tiempos seleccionar Simulation mode = Timing.

Si la simulacin deseada es Functional y el modo de simulacin es Timing, habr que
cambiarlo, y volver a compilar el proyecto, antes de simular el proyecto. Para simular el
proyecto, hay que generar las seales de estmulo y esto se consigue con la herramienta
Waveform Editor. Esta se puede invocar de dos maneras:
Tutorial de Herramienta EDA Quartus II Ing. MSc. Aurelio Morales Villanueva Pg. 8

a) Ir a la barra de men, y seleccionar MAX+PLUS II Waveform Editor
b) Ir a la barra de men, y seleccionar File New Seleccionar tab Other Files
Vector Waveform File

Entonces aparecer un entorno de trabajo para ingreso de las seales de entrada y salida para
la simulacin, como la que se muestra en la figura 17.


Figura 17.- Entorno para ingreso de seales de entrada y salida para simulacin

Seleccionar el tamao de la grilla a 1 ns (Edit Grid Size), y seleccionar el fin de simulacin a
1 us (Edit End Time) como se muestra en la figura 18.



Figura 18.- Seleccionando tamao de grilla y fin de simulacin

A continuacin, para ingresar las seales del diseo a simular, seleccionar a partir de la barra
de men Edit Insert Node or Bus y apretar botn Node Finder como se muestra en la
figura 19. En el cuadro de dilogo para ingreso de los nodos, seleccionar en el cajn Filter la
opcin Pins: all y apretar el botn List, y seleccionar los nodos de entrada y salida del
diseo de manera individual apretando el botn >, o seleccionar todos a la vez apretando el
botn >>. Para nuestro caso, seleccionar las seales de bus A, B, S y F y no las seales
individuales. Ver la figura 20. Luego de esto, apretar OK , y OK.


Figura 19.- Ventana de ingreso de nodos o bus


Tutorial de Herramienta EDA Quartus II Ing. MSc. Aurelio Morales Villanueva Pg. 9

Figura 20.- Seleccin de nodos del proyecto

Dibujar las formas de onda que aparecen en la figura 21 y salvar el archivo seleccionado el
cono del diskette o a partir de File Save as... como alu_v1.vwf (Vector Waveform
File).

Los cambios en la seal A sern cada 100 ns, los de la seal B sern cada 150 ns, mientras
que los de la seal S cada 50 ns. No se pueden seleccionar cambios en F, desde que es una
seal de salida. Los resultados de F se obtendrn con la simulacin. Para observar la
simulacin completa, seleccionar con el ratn, la lupa (zoom tool), y en el fondo de
pantalla de las seales de tiempo, apretar varias veces el botn derecho del ratn, hasta
apreciar el rango completo de simulacin (se hace zoom out). Si se aprieta el botn izquierdo
del ratn se ampla el detalle de tiempos, haciendo un zoom in. Para dibujar las seales
indicadas, debe seleccionarse el botn de la flecha (selection tool).


Figura 21.- Seales de entrada para la simulacin del proyecto.

Una manera fcil de generar las seales indicadas en la figura 21 es seleccionando una seal
en particular, por ejemplo A, tocndola con el botn izquierdo del ratn, con lo que se obtendr
un fondo celeste para esta seal. A continuacin, seleccionar el botn count value con lo
que aparecer una ventana de dilogo con dos tabs. Para el tab Counting y para el tab
Timing seleccionar lo indicado en la figura 22.



Tutorial de Herramienta EDA Quartus II Ing. MSc. Aurelio Morales Villanueva Pg. 10



Figura 22.- Ingreso de valores de conteo para seal A (bus)

Para la seal B, la cuenta empieza en el valor 8, que es el Start Value del tab Counting de la
figura 21, y un valor de 150 ns en Count every del tab Timing de la figura 21.

Para la seal S, la cuenta empieza en el valor 0, que es el Start Value del tab Counting de la
figura 21, y un valor de 50 ns en Count every del tab Timing de la figura 21.

A continuacin guardar todos los cambios de este archivo de formas de onda, volviendo a
seleccionar el cono del diskette .

A continuacin, realizar la simulacin del proyecto, seleccionando de la barra de men
Processing Start Simulation o seleccionar el cono de la PC . Si la simulacin es
exitosa, se obtiene una vista como se muestra en la figura 23. En este caso se simul en modo
Timing, pero para este tutorial, primero hacerlo en modo funcional, y luego en modo Timing.

Para la simulacin en modo funcional, escoger la opcin Functional en cuadro de dilogo
Simulation mode y apretar el botn Generate Functional Simulation Netlist de la
ventana Simulator Tool previo a la simulacin (figura 23), generndose automticamente
una nueva compilacin. Notar que debe estar seleccionada la opcin Ovewrite simulation
input file with simulation results . Si la simulacin fue exitosa apretar el botn Aceptar y
seleccionar el botn Open, pidiendo confirmacin de modificar el archivo de simulacin. En
este caso, apretar el botn Si.


Figura 23.- Simulacin exitosa del proyecto



Tutorial de Herramienta EDA Quartus II Ing. MSc. Aurelio Morales Villanueva Pg. 11
En la figura 23 se muestran los resultados de la simulacin en modo Timing. Puede
apreciarse que existen retardos de tiempo en la seal F, ante los distintos estmulos de las
seales A, B y S.



Figura 23.- Resultado de la simulacin de tiempos del proyecto alu_v1

Por otro lado, en la figura 24 se muestran los resultados de la simulacin en modo
Functional. Puede apreciarse que no existen retardos de tiempo en la seal F, teniendo una
simulacin ideal o del tipo funcional, donde no se incluyen las caractersticas de tiempo del
dispositivo seleccionado.



Figura 24.- Resultado de la simulacin funcional del proyecto alu_v1

Tomar nota de los resultados de las simulaciones funcional y de tiempos del proyecto.
Igualmente analizar los reportes generados seleccionando a partir de la barra de men la
opcin Processing Compilation Report

Finalemente, crear el smbolo del proyecto, seleccionando de la barra de men File
Create/Update Ceate Symbol Files for the current File. Con esto se genera el archivo
alu_v1.bsf (Block Symbol File), el cual puede ser usado en caso de usar un entorno de entrada
de diseo en forma grfica, conectando cajas negras o bloques.

Adicionalmente, para el proyecto en curso, cambiar el dispositivo al EPF10K20RC240-4 de la
familia FLEX10K, volver a compilar el diseo y evaluar los resultados de las simulaciones
funcional (Functional) y de tiempo (Timing). El cambio de dispositivo se hace seleccionando en
la barra de men Assigments Device

Para salir del entorno de Quartus II, cerrar el proyecto con File Close Project y luego File
Exit. Si se desea generar un nuevo proyecto, cerrar el proyecto actual, y seguir todos los pasos
indicados anteriormente.

Para volver a cargar un proyecto, usar File Open Project, o desde la ventana del Explorador
de Windows, en la carpeta del proyecto, dar doble clic al archivo de extensin qpf. Se
recomienda generar carpetas independientes por cada proyecto.
Tutorial de Herramienta EDA Quartus II Ing. MSc. Aurelio Morales Villanueva Pg. 12

Você também pode gostar