You are on page 1of 55

QUARTUS II 13 DISEÑO USANDO CODIGO VHDL

Sea una función no canónica dada por la siguiente ecuación lógica:

F=BCD+ABCD+ A+B CD( )


Como empezar un Proyecto Nuevo

Hacer doble click en el icono de QII

QII responde con la siguiente ventana en ella se puede seleccionar:


Para nuevo proyecto (nuestro caso)
Abrir proyecto existente
Otra alternativa (la que usaremos) cerramos esta ventana

Pantalla principal de Quartus II.

SISTEMAS DIGITALES I
1
QII responde con la siguiente ventana

Seleccione File>New Project Wizard

Pantalla principal de Quartus II.

QII responde con la siguiente ventana

Marque en Don´t Show me this introduction again.


Haga clic en Next

Tarea para llevar a cabo el auxiliar.

SISTEMAS DIGITALES I
2
Escriba el nombre del directorio de trabajo: F:\DIGITAL\QII13\CAP3\EJEMPLO1CV
Escriba el nombre del proyecto: EJEMPLO1CV puede ser el mismo que el del directorio.
Quartus II sugiere automáticamente que el nombre EJEMPLO1CV sea también el
nombre de la entidad de diseño de mayor nivel del proyecto
Haga clic en Next.

Especificación del directorio y el nombre del proyecto.

Como aún no hemos creado el directorio F:\DIGITAL\QII13\CAP3\EJEMPLO1CV, Quartus II


despliega y pregunta si quiere crear el directorio. Haga clic en Yes

Quartus II puede crear el directorio deseado.

SISTEMAS DIGITALES I
3
QII responde con la ventana que archivos existentes (si los hay) deben incluirse en el
proyecto.
No tenemos archivos existentes, haga clic en Next.

Una ventana para incluir los archivos de diseño.

QII responde con ventana para especificar el tipo de dispositivo en el que se implementara
el circuito diseñado.
Elija la familia Cyclone II
Seleccionar de la lista disponible resaltando EP2C35F672C6.
Presione Next

Especificación de la familia de dispositivos.


SISTEMAS DIGITALES I
4
QII responde con ventana para especificar otras herramientas a ser usados

No elegiremos ninguna otra herramienta. Presione Next.

Inclusión de otras herramientas EDA.

QII responde con ventana: con un resumen de los ajustes realizados. Presione Finish

Resumen de los ajustes del proyecto.


SISTEMAS DIGITALES I
5
QII responde con la ventana principal el cual especifica el nuevo proyecto en el titulo de
la barra de herramientas (F:\DIGITAL\QII13\CAP3\EJEMPLO1CV).

Pantalla principal de Quartus II, en la que se desplega el proyecto creado.

Ingreso del Diseño Utilizando el Código VHDL

F=BCD+ABCD+ A+B CD ( )
El circuito requerido es descrito por el código

ENTITY EJEMPLO1CV IS
PORT (A, B, C, D : IN BIT;
F : OUT BIT);
END EJEMPLO1CV;

ARCHITECTURE FunciónLógica OF EJEMPLO1CV IS


BEGIN
F<=(B AND NOT C AND NOT D) OR (A AND B AND C AND D) OR
((NOT A OR B) AND ( NOT C AND D));
END FunciónLógica;
Código de VHDL para el circuito.

SISTEMAS DIGITALES I
6
Uso del Editor de Texto de Quartus II

Quartus II ofrece un editor de texto que puede utilizarse para escribir código VHDL.
Seleccione File>New

QII responde con ventana New


Seleccione la opción VHDL File
Haga clic en OK.

SISTEMAS DIGITALES I
7
QII responde abriendo la ventana del editor de texto (Text Editor).

En el editor de texto escribimos el código VHDL del proyecto a realizar:

SISTEMAS DIGITALES I
8
Luego se debe guardar el programa escrito en VHDL, para esto en
Elija File>Save As

Eligiendo para preparar un archivo de VHDL.

QII responde con ventana de dialogo Guardar como


En el cuadro nombre teclee EJEMPLO1CV_vhdl (Quartus II añadirá la extensión vhd)
En el cuadro Tipo, haga clic en la opción VHDL File.
Deje activada la casilla Add file to current Project
Guarde el archivo.

Abriendo un archivo de VHDL (Nombrando el archivo).


SISTEMAS DIGITALES I
9
Adicionando Archivos Diseñados para el Proyecto

Para ver la lista de los archivos ya incluidos en el proyecto EJEMPLO1CV


Seleccione Assignments>Settings

Ventana de ajuste.
QII responde con ventana hacer click en el ítem Files y luego en File Name seleccionar o
escribir el nombre del proyecto.
Resaltar el archivo EJEMPLO1CV
Elegir la casilla Add File al presente proyecto
Click en OK

Seleccionando el archivo.
SISTEMAS DIGITALES I
10
Compilando el Circuito Diseñado

Seleccione Processing>Start>Start Analysis & Synthesis, o utilice el icono correspondiente


en la barra de herramientas o el atajo Ctrl-k.

Conforme avanza la compilación, su avance se indica en la esquina inferior de la pantalla de


Quartus II y también en la ventana Status; si esta ventana no está abierta, puede abrirla
seleccionando la opción View>Utility Windows>Status.

SISTEMAS DIGITALES I
11
La compilación satisfactoria (o insatisfactoria) se indica en un cuadro de aparición instantánea.
Responda haciendo clic en OK y revise el informe de compilación mostrado

Si el informe aún no está abierto, puede abrirlo mediante un clic en el icono Report en la ventana
Compiler Tool, o usando el icono o eligiendo Processing>Compilation Report). El resumen del
informe muestra que nuestro diseño solo empleara 5 pines y un elemento lógico en un FPGA de
Cyclone, el informe de compilación indica que no hay errores ni advertencias, Por ejemplo, es
posible ver las expresiones lógicas sintetizadas haciendo clic en el pequeño símbolo al lado de
Analysis & Síntesis clic

SISTEMAS DIGITALES I
12
Si la ecuación no es visible se debe seleccionar Tools>Options>Genera>Processing
QII responde:
luego eligiendo Analysis & Síntesis Equations.

QII responde:
La ecuación que Quartus II utiliza para implementar nuestro circuito es:

A1L6 = (D & ((A & (B)) # (!A & ((!C))))) # (!D & (B & ((!C))));
Reescribimos la ecuación resulta:
F=ABD+AC+BCD
SISTEMAS DIGITALES I
13
Errores
Quartus II muestra mensajes producidos durante la compilación en la ventana Messages.
Si el diseño de VHDL es correcto, uno de los mensajes informara que la compilación fue
satisfactoria y que no hay errores o advertencias.

Para ver qué sucede si se comete un error, elimine en el código de VHDL la entrada A y
compile el código VHDL modificado. La compilación no será satisfactoria y se mostraran
dos mensajes de error. Clik en OK

SISTEMAS DIGITALES I
14
El primero indica al diseñador que la entrada afectada no encuentra una fuente

Quartus II brinda ayuda, si el usuario hace doble clic en el mensaje de error, la ubicación
correspondiente se resaltará. Vuelva a escribir el código de VHDL la entrada A eliminado y
recompile el código corregido.

SISTEMAS DIGITALES I
15
Asignando los Pines
La implementación física del diseño en un dispositivo FPGA específico, requiere:
Detallar cómo elegir manualmente que pines de un FPGA se utilizan para las señales de
entrada y de salida.
Describimos cómo utilizar el módulo Programamer de Quartus II para transferir el proyecto
compilado al FPGA elegido.
La asignación de señales para los pines del dispositivo, la realiza el compilador (Compiler):
En forma automática o manualmente con el auxilio del compilador (Compiler). Por ejemplo,
la tarjeta DE2, para asignar pines de entrada o salida tiene la siguiente estructura:

Diagrama de bloques de la Tarjeta DE2.


También se puede ver en la topología de la tarjeta DE2 los elementos de entrada o salida

La tarjeta DE2
SISTEMAS DIGITALES I
16
Uso de los Switches y LEDs para entrada y salida del FPGA

La tarjeta DE2 proporciona:


4 interruptores pulsadores.
18 conmutadores.
Cada switch está conectado directamente a un pin en la FPGA Cyclone II. en la posición
DOWN proporciona un nivel lógico bajo (0 voltios) a la FPGA, y cuando el interruptor está
en la posición UP proporciona un nivel lógico alto (3,3 voltios).
18 LEDs rojos se sitúan por encima de la 18 interruptores de palanca
8 LEDs verdes se encuentran por encima de los interruptores pulsador (el LED 9 verde está
en el centro de los displays de 7 segmentos).
Cada LED es accionado directamente por un pin del FPGA Cyclone II

SISTEMAS DIGITALES I
17
Durante la recopilación anterior, el compilador de Quartus II puede elegir cualquier
pin de la FPGA para servir como entradas y salidas.
La tarjeta DE2 ha cableado las conexiones entre los pines FPGA y otros
componentes en la tarjeta.
Vamos a utilizar Cuatro switches SW3, SW2, SW1 y SW0, para proveer las entradas,
A, B, C y D. Estos switches están conectados a los pines del FPGA AE14, P24, N26 y
N25, respectivamente. Conectaremos la salida F al LED verde LEDG0, conectado al
pin del FPGA AE22. De acuerdo a las siguientes tablas de la tarjeta DE2

Asignación de pines para los interruptores de palanca.

Asignación de pines para el LED.

SISTEMAS DIGITALES I
18
Para la asignación de pines se realiza mediante el menú principal
Seleccionar Assignments>Pin Planner

QII responde con la ventana Pin Planer


Se aprecia una vista del editor de pines, la parte importante esta en las pestañas inferiores
donde se encuentran listadas todas las señales declaradas
Para asignar un pin específico a cada señal hacer doble click en la columna “Location”

Ventana de asignación de pines

SISTEMAS DIGITALES I
19
Para asignar un pin específico a cada señal hacer doble click en la columna “Location” para
cada señal, se abrirá un menú desplegable donde están listados todos los pines disponibles
de la FPGA.

Detalle de la ubicación de pines por señal asignada

Para este caso se utilizo las siguientes asignaciones:


A estará conectado al PIN_AE14 que corresponde al toogle swtcht[3]
B estará conectado al PIN_P26 que corresponde al toogle swtcht[2]
C estará conectado al PIN_N26 que corresponde al toogle swtcht[1]
D estará conectado al PIN_N25 que corresponde al toogle swtcht[0]
F estará conectado al PIN_AE22 que corresponde al led green[0]
Una vez realizada la asignación de pines se puede cerrar la ventana del editor de pines con
lo cual se guardan los cambios realizados, en File/Close.

Recompilación del Proyecto con Asignaciones de Pines


Para cambiar los resultados de la compilación usando nuestras asignaciones de pines,
vuelva a compilar el proyecto y clik en OK

SISTEMAS DIGITALES I
20
Simulación del Circuito Diseñado (dos formas)
1. Con ModelSim. Antes que el circuito sea implementado en el FPGA, simularemos el circuito.
Usaremos una herramienta de simulación de circuitos y sistemas digitales llamada ModelSim.
Debe crear las formas de onda deseadas, llamadas vectores de prueba (test vectors), a fin de
representar las señales de entrada con ModelSim por un archivo en VHDL, archivo que se genera
en Quartus II.
En el menú, Assignaments/Settings.

QII responde con la ventana Settings


Elegir la opción EDA Tools Settings/Simulation, en la ventana de la derecha en la opción Tool
name: elegir “ModelSim Altera”, luego OK

SISTEMAS DIGITALES I
21
Una vez que el ejemplo se encuentra compilado se elige en el menú
Processing/Start/Start Test Bench Template Writer

Estar atentos a los mensajes de compilación por si existe algún error, caso contario
Presionar OK.

SISTEMAS DIGITALES I
22
Se debería generar un archivo con extensión *.vht dentro de la ruta de carpetas:
SIMULATION/MODELSIM, se encuentran dentro de la carpeta del proyecto que se está
realizando. Abrir dicho archivo con el programa QUARTUS con File/Open.

Responde con ventana Open File, buscamos en tipo los archivos con terminación .vht
(Test Bench Output Files (*.vht.vt))

SISTEMAS DIGITALES I
23
Responde con ventana Open File (ModelSim, EJEMPLO1.vht) abrir

Responde generando el archivo del vector de prueba para ser completado

SISTEMAS DIGITALES I
24
El archivo ya está generado y no hace falta cambiar ninguna variable, observar en la parte
con círculo rojo:

LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY ejemplo1cv_vhd_tst IS
END ejemplo1cv_vhd_tst;
ARCHITECTURE ejemplo1cv_arch OF ejemplo1cv_vhd_tst IS
-- constants
-- signals
SIGNAL A : STD_LOGIC;
SIGNAL B : STD_LOGIC;
SIGNAL C : STD_LOGIC;
SIGNAL D : STD_LOGIC;
SIGNAL F : STD_LOGIC;
COMPONENT ejemplo2tv
PORT (
A : IN STD_LOGIC;
B : IN STD_LOGIC;
C : IN STD_LOGIC;
D : IN STD_LOGIC;
F : OUT STD_LOGIC
);
END COMPONENT;
BEGIN
i1 : ejemplo1cv
PORT MAP (
-- list connections between master ports and signals
A => A,
B => B,
C => C,
D => D,
F => F
);
init : PROCESS
-- variable declarations
BEGIN
-- code that executes only once
WAIT;
END PROCESS init;
always : PROCESS
-- optional sensitivity list
-- ( )
-- variable declarations
BEGIN
-- code executes for every event on sensitivity list

WAIT;
END PROCESS always;
END ejemplo1cv_arch;

SISTEMAS DIGITALES I
25
En la zona señalada con circulo rojo es donde se debe ingresar el comportamiento de las
señales, luego quedará de la siguiente manera:
LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY EJEMPLO1CV_vhd_tst IS
ENDCEJEMPLO1CV_vhd_tst;
ARCHITECTURE EJEMPLO1CV_arch OF EJEMPLO1CV_vhd_tst IS
-- constants
-- signals
SIGNAL A : STD_LOGIC;
SIGNAL B : STD_LOGIC;
SIGNAL C : STD_LOGIC;
SIGNAL D : STD_LOGIC;
SIGNAL F : STD_LOGIC;
COMPONENT EJEMPLO1CV
PORT (
A : IN STD_LOGIC;
B : IN STD_LOGIC;
C : IN STD_LOGIC;
D : IN STD_LOGIC;
F : OUT STD_LOGIC
);
END COMPONENT;
BEGIN
i1 : EJEMPLO1CV
PORT MAP (
-- list connections between master ports and signals
A => A,
B => B,
C => C,
D => D,
F => F
);
init : PROCESS
-- variable declarations
BEGIN
-- code that executes only once
WAIT;
END PROCESS init;
always : PROCESS
-- optional sensitivity list
-- ( )
-- variable declarations
BEGIN
-- code executes for every event on sensitivity list
A<='0';B<='0';C<='0';D<='0';
wait for 100 ns;
D <= '1';
wait for 100 ns;
D <= '0'; C <= '1';
wait for 100 ns;
D <= '1';
wait for 100 ns;
D <= '0'; C <= '0'; B <= '1';
wait for 100 ns;
D <= '1';
wait for 100 ns;
D <= '0'; C <= '1';
wait for 100 ns;
D <= '1';
wait for 100 ns;
D <= '0'; C <= '0'; B <= '0';
wait for 100 ns;
D <= '1';
wait for 100 ns;
D <= '0'; C <= '1';
wait for 100 ns;
D <= '1';
wait for 100 ns;
D <= '0'; C <= '0'; B <= '0'; A <= '1';
wait for 100 ns;
D <= '1';
wait for 100 ns;

WAIT;
END PROCESS always;
END EJEMPLO1CV_arch;

SISTEMAS DIGITALES I
26
El código fue agregado, observar que lo más simple es declarar el comportamiento de cada
señal en un periodo constante en este caso cada 100ns.
Guardar el archivo sin cambiar el nombre.
Volvemos a Assignaments/Settings/Eda Tools Settings/Simulation, elegimos en la parte
inferior “Compile testbench” y pulsamos el botón “testbenches”,

Se abrirá otra ventana Test Bench: Elegimos New y QII responde con otra ventana New
Test Bench setings

SISTEMAS DIGITALES I
27
New Test Bench settings:

Lo importante de esta ventana es que en la parte de Test bench name: hay que escribir el
nombre del TOP LEVEL MODULE que tenemos en la cabecera de nuestro archivo vht
generado en este caso es ejemplo1cv_vhd_tst, además debemos elegir la opción “Use test
bench to perform…” y en Design instance … anotar i1 quedando la ventana de esta forma:
En File Name seleccionar el archivo EJEMPLO1CV.vht en

SISTEMAS DIGITALES I
28
QII rcv Select File, seleccionamos el archivo EJEMPLO1CV.vht y clik en Open

QII rcv New Test Bench settings rellenando en File Name con el archivo EJEMPLO1CV.vht,
clik en Add

SISTEMAS DIGITALES I
29
QII rcv New Test Bench settings con el archivo EJEMPLO1CV.vht, click en OK

QII rcv Test Bench Luego OK/Aceptar hasta llegar a la ventana principal del programa.

SISTEMAS DIGITALES I
30
QII rcv principal del programa y luego OK

En Tools/Options/General/EDA tools options debemos indicar al programa QUARTUS donde


se encuentra instalado el ejecutable de ModelSim-Altera, en nuestro caso está instalado en
C:\altera\13.0\modelsim_ase\win32aloem, probablemente en tu PC está en el mismo disco
C:, luego click en OK

SISTEMAS DIGITALES I
31
Elegimos la opción Processing/Start/Start EDA Netlist Writer

Responde con ventana Quartus II, luego en OK

SISTEMAS DIGITALES I
32
Finalmente elegimos la opción: Tools/Run Simulation Tools/Gate Level Simulation

Aparecerá otra pequeña ventana: EDA Gate … elegimos slow model o fast model, luego
RUN

SISTEMAS DIGITALES I
33
Se abrirá el programa MODELSIM y empezara a compilar,

Hay que ajustar con la rueda del mouse apretando la tecla crtl para ver a escala adecuada
en la ventana negra las señales.

SISTEMAS DIGITALES I
34
Otro método para la simulación.

2. Ingresamos con el icono de hoja en blanco hacemos click (también se puede ingresar en el
menú principal en File/New y en Verification Debuging Files, seleccionamos University Program
vwf)

QII rcv New, en Verification Debuging Files, seleccionamos University Program vwf y luego
OK

SISTEMAS DIGITALES I
35
QII rcv mostrando la base de tiempos sin limite, para poner limite en el menu en Edit

Seleccionar en Edit Set End Time

SISTEMAS DIGITALES I
36
QII rcv mostrando la base End Time para ser ajustada, anotar por ejemplo 160 ns y luego
OK

QII rcv mostrando la base ajustada

SISTEMAS DIGITALES I
37
Para seleccionar las variables de entrada y salida en el menú en Edit seleccionamos Insert y luego
click en Insert Node or Bus

QII rcv mostrando Insert Node or Buss seleccionamos Node Finder y OK

SISTEMAS DIGITALES I
38
QII rcv con Node Finder seleccionamos List, y nos muestra la lista de variables, se debe pasar
toda la lista a la segunda ventana, para esto se hace click en

QII rcv mostrando la lista de variables en ambas ventanas, luego OK

SISTEMAS DIGITALES I
39
QII rcv Insert Node or Buss luego OK

QII rcv se debe ajustar el diagrama de tiempos de las variables de entrada, para esto se
activa la variable haciendo click, luego click en el icono de reloj, responde con Clock, en
ella se ajusta los tiempos y la unidad, luego OK

SISTEMAS DIGITALES I
40
QII rcv informando que la forma de onda se modifico si se quiere guardar click en Yes

QII rcv Save Vector Waveform File se selecciona el nombre y luego Guardar

SISTEMAS DIGITALES I
41
QII rcv Procesamos la simulacion con el icono, responde procesando la simulacion con un
flujo y nos informa que hay error

Para corregir el error en Simulation seleccionamos Options luego seleccionamos Quartus II


Simulator y finalmente OK

SISTEMAS DIGITALES I
42
QII rcv informando que la simulacion solo es para efectos academicos, luego en OK

QII rcv Procesando la simulacion

SISTEMAS DIGITALES I
43
Ampliamos el diagrama de tiempos para apreciar los detalles

Programando y Configurando el componente FPGA

Para descargar un circuito lógico diseñado y compilado en un ordenador a la tarjeta DE2


existen dos métodos: Programación JTAG y Programación AS.

Usando el software Quartus II, es posible reprogramar el FPGA en cualquier momento.


Ambos métodos de programación se describen a continuación.

1. Programación JTAG: El nombre proviene del estándar IEEE Joint Test Action Group,
el flujo de bits de la configuración se descarga directamente en la FPGA Cyclone II. El
FPGA mantendrá esta configuración, siempre y cuando se aplica energía a la Tarjeta; la
configuración se pierde cuando la tarjeta está apagada.

2. Programación AS: Llamado programación Active Serial, el flujo de bits de la


configuración es descargado en el EEPROM EPCS16. Proporciona almacenamiento no
volátil de la secuencia de bits, de modo que la información se conserva aunque la
fuente de alimentación a la placa DE2 está apagada. Cuando la tarjeta está encendida,
los datos de la configuración en el dispositivo de EPCS16 se cargan automáticamente
en el FPGA ciclón II.

SISTEMAS DIGITALES I
44
La siguiente sección describe los pasos utilizados para realizar programación JTAG y AS.
Para ambos métodos, la Tarjeta DE2 debe ser conectada a un computador a través de un
cable USB.
Mediante esta conexión, la Tarjeta será identificada por la PC como un dispositivo USB
Altera Blaster.
El software con que se comunica con el USB Blaster debe estar instalado en la PC.

Configuración de la FPGA en el modo de JTAG

La figura ilustra la configuración JTAG.

El esquema de configuración JTAG.

Para descargar un flujo de bits de la configuración en el FPGA Cyclone II, realice los
siguientes pasos:

• Asegúrese de que se aplica energía a la Tarjeta DE2


• Conecte el cable USB al puerto USB Blaster en el tarjeta DE2
• Configurar el circuito de programación JTAG estableciendo el interruptor RUN/PROG a la
posición RUN.
• El FPGA ahora se puede programar utilizando el modelo de programación Quartus II al
seleccionar un archivo de configuración con la extensión de .sof

SISTEMAS DIGITALES I
45
Configuración de la EPCS16 en Modo AS

La figura ilustra la configuración AS.

El esquema de configuración AS.

Para descargar un flujo de bits serial en la EPCS16, realice los siguientes pasos:

• Asegúrese de que se aplica energía a la Tarjeta DE2


• Conecte el cable USB al puerto USB Blaster en la tarjeta DE2
• Configurar el circuito de programación JTAG ajustando el interruptor RUN/PROG a la
posición PROG.
• El chip EPCS16 ahora se puede programar utilizando el modelo de programación Quartus
II al seleccionar un archivo de configuración con la extensión del nombre de archivo .pof
• Una vez que la operación de programación ha finalizado, ajuste el conmutador
PROG/RUN a la posición RUN y reinicie la Tarjeta girando el interruptor de alimentación
a off y vuelva a encenderla, esta acción hace que los datos de la configuración de
EPCS16 se carguen de nuevo en el dispositivo FPGA.

Además del uso para programación JTAG y AS, el puerto USB Blaster en la tarjeta DE2
puede también utilizarse para el control de algunas de las funciones de la Tarjeta de forma
remota desde una PC.

SISTEMAS DIGITALES I
46
Programación con JTAG
Coloque el switch RUN/PROG en la posición RUN. Seleccione Tools>Programmer para ver
la ventana que nos permite seleccionar el hardware de programación en el modo JTAG.

Es necesario especificar el hardware de programación y el modo que será usado.


Si no está seleccionado por defecto, seleccione el modo JTAG.
También, si el USB-Blaster no está seleccionado por defecto, presione el botón Hardware Setup y
seleccione la opción USB-Blaster y click en Add File. Este es el archivo binario producido en modulo
ensamblador del compilador, que contiene la información para configurar la FPGA

SISTEMAS DIGITALES I
47
QII rcv Hardware Setups. Seleccione Hardware Setups y en Currenty selected hardware seleccione
USB Blaster .., aparece en la ventana Hardware USB Blaster y clik en Close

QII rcv Programer y presione Start. Un LED en la tarjeta DE2 se encenderá una vez que el archivo
de configuración haya sido descargado satisfactoriamente cuyo progreso se va mostrando

SISTEMAS DIGITALES I
48
QII rcv Si ve algún reporte de error indicando que la programación ha fallado, verifique que
la tarjeta está debidamente conectada y si no hay error en la ventana de progreso se indica 100%

Luego se debe probar la tarea lógica del circuito diseñado en la tarjeta DE2.

Programación Modo Activo Serial

En este modo (ajustar el interruptor RUN/PROG a la posición PROG), la información de configuración será
cargada en el dispositivo de configuración de la tarjeta DE2, en una memoria identificado
como EPCS16.
Para seleccionar el dispositivo requerido seleccione Assignements>Device,

SISTEMAS DIGITALES I
49
QII abre ventana Device
Haga click en la pestaña Device and Pin Options para obtener la ventana Device and….

Ventana de opciones de dispositivos y terminales (pines)

Seleccione el dispositivo de configuración (puede estar seleccionado en Auto) elegir


EPCS16
Desactivar la casilla “Generate compressed bitstream”.
Presionar OK. Presione OK hasta regresar a la ventana Settings. Recompile el circuito
diseñado.

Especificando la configuración del componente.

SISTEMAS DIGITALES I
50
Seleccionamos el componente EP2C35F672C6 y click en OK

El resto del procedimiento es similar al descrito para el modo JTAG. Seleccione


Tools>Programer para ver la ventana mostrada

SISTEMAS DIGITALES I
51
En la opción Mode seleccione Active Serial Programming

QII rcv preguntando si se quiere borrar algunos componentes ya grabados se presiona Yes

SISTEMAS DIGITALES I
52
QII rcv que en la opción Mode seleccionado en Active Serial Programming y las ventanas vacías
click en Add File

QII rcv Select Programing File, seleccionamos en ouput_files con doble click.

SISTEMAS DIGITALES I
53
QII rcv Select Programing File en la que se visualiza en la ventana principal el archivo
EJEMPLO1CV.pof, se resalta dicho archivo y se despliega en la ventana File Name y click en Open

QII rcv Programer, active Programer Configure y presione Start. Un LED en la tarjeta DE2 se
encenderá una vez que el archivo de configuración haya sido descargado satisfactoriamente cuyo
progreso se va mostrando

SISTEMAS DIGITALES I
54
QII rcv Si ve algún reporte de error indicando que la programación ha fallado, verifique que la tarjeta está
debidamente conectada y si no hay error en la ventana de progreso se indica 100%

Ponga el switch RUN/PROG de la tarjeta DE2 en la posición PROG.

Probando el Circuito Diseñado


Teniendo descargado el archivo de configuración en la FPGA, puede probar el circuito implementado. Coloque
el switch RUN/PROG en la posición RUN. Pruebe todas las combinaciones posibles para las entradas mediante
los switches SW, Verifique que el circuito cumple con la tabla de verdad.
Si quiere hacer cambios en el circuito diseñado, primero cierre la ventana del programador. Realice los cambios
en el circuito, compile el circuito, y programe la tarjeta como se explico.

Comentarios Finales
Expusimos muchas de las funciones más importantes de Quartus II. Sin embargo, hay muchas más. El lector
puede aprender más del sistema CAD explorando los diversos comandos y la ayuda en línea proporcionada en
cada aplicación.

SISTEMAS DIGITALES I
55

You might also like