You are on page 1of 28

Universidad Politécnica Territorial del Estado Aragua “FBF”

PNF de Electricidad – Sede Maracay

Sistemas Digitales
Guía No. 1: FPGA Cyclone II

Profesor: Ing. Pedro Landaeta.

Instructor: TSU. Sarais Cabral.

Introducción: Con el avance de la tecnología en la simulación de circuitos es necesario


avanzar y mejorar el estudio de estos programas, no perdiendo el objetivo de aprender
sobre los sistemas digitales. Esta guía pretende ser una introducción a los lenguajes HDL
(Hardware Description Language), específicamente para trabajar con AHDL (Altera
Hardware Description Language) de Altera y VHDL (Very high speed integrated circuit
Hardware Description Language) del estándar IEEE (Institute of Electrical and Electronics
Engineers) std 1076- 1987. Se explicará con mayor detalle VHDL para minimizar el
contenido de la guía, pero el estudiante puede trabajar en el lenguaje que prefiera, también
se pretende utilizar un programa de simulación como es Quartus II el cual se tomara a
detalle los pasos de instalación y simulación en este.

Quartus II Edición Web 13.0 sp1. La Edición Web es una versión gratuita de Quartus II
que puede ser descargada o enviada gratuitamente por correo. Esta edición permite la
compilación y la programación de un número limitado de dispositivos Altera.

La familia de FPGAs de bajo coste Cyclone, está soportada por esta edición, por lo que los
pequeños desarrolladores no tendrán problemas por el coste del desarrollo de software.

Se requiere un registro de licencia para utilizar la Edición Web de Quartus II, la cual es
gratuita y puede ser renovada ilimitadamente.

Un punto muy importante es la versión, ya que físicamente poseen dispositivos


EPM3032ATC10-7, EPM3064ATC10-7 y EPM240T100C5N es necesario utilizar una
versión de software que le brinde soporte a las familia EP2C5T144C6, ya que la versión
14.1 no brinda dicho soporte se utilizara la versión 13.0 service pack 1.

Quartus II necesita una herramienta aparte que no vienen incluida dentro del programa
principal, que sirve como interfaz entre el software y el equipo programador, su nombre es
Quartus programmer y debe estar acorde con la versión del software, esta herramienta
permite la configuración del programador y es la encargada de la descarga de datos hacia el
dispositivo físico.

Familia Cyclone II
Los dispositivos Cyclone II EP2C5T144C6 son de bajo costo y alto rendimiento basados
en la arquitectura Cyclone II de Altera. Son fabricados con tecnología avanzada CMOS,
operan con 3.3v. Proveen entre 4000 a 20000 compuertas utilizables y contadores de
velocidad superiores a 227.3 MHz. Son totalmente compatibles con lógica TTL.

Figura No. 1: Distribución de pines para la FPGA seleccionada.

Se utilizara el FPGA cyclone II EP2C5T144C6.

Instalación y licenciamiento del Software.


Para la descarga del software como ya se había mencionado lo podemos buscar dentro de
la página oficial de Altera: www.altera.com

Se recomienda entrar a este sitio https://www.altera.com/download/sw/dnl-sw-index.jsp


siempre de la página de Altera y hacer clic para seleccionar la versión basándose en
dispositivos, tal como lo muestra la imagen
Figura No. 2: Pantalla de búsqueda del software adecuado.

Luego de dar clic a la versión, se llegara a la siguiente página en donde se debe descargar
los archivos marcados.

Figura No. 3: Página Principal de descarga.

Todo esto tendrá un peso de 1.6 GB aproximado, pero se debe tener libre por lo menos 6
GB en disco duro para completar la instalación de forma satisfactoria.

Una ventaja significativa es que esta versión ya no necesita un archivo de licencia.


Figura No. 4: Licencias.

Una vez se tienen los archivos se ejecuta primero el archivo QuartusSetupWeb-version.exe


Se desplegaría el asistente de instalación.
Figura No. 5: Asistente de instalación.

Los siguientes pasos son similares a cualquier programa en Windows, aceptar los términos
y condiciones, seleccionar la carpeta de instalación (recordar esta dirección ya que
posteriormente se utiliza).
Figura No. 6: Términos y condiciones.
Figura No. 7: Carpeta de instalación.

Una vez finalizada la instalación el programa estará listo para ser utilizado, en la ventana
principal se despliega un asistente para la ejecución de un nuevo proyecto, esa sección será
descrita posteriormente.
Figura. 8: Pantalla inicial Quartus II.

La instalación del Quartus Programmer es posterior y sigue la misma lógica del programa
anterior, Quartus Programmer es una extensión de la suite por lo tanto es un programa
independiente, si se necesitara solo el programador perfectamente se podría instalar sin
necesidad de instalar toda la suite, y para programar los dispositivos solamente se
necesitarían los archivos .pof generados por el compilador previamente.
Figura No. 9: Pantalla inicial del Quartus Programmer.

Cambiar `pr cyclone II CPLD. Como se había mencionado los CPLD disponibles son de
la familia MAX 3000 con un empaquetamiento tipo TQFP (Thin Quad Flat Package),
correspondiente a un montaje superficial, ya que los dispositivos son de uso académico lo
ideal era crear una base estándar, siguiendo esta idea se tomó el estándar DIL40 (Dual in
Line, 40 pines) y se reconfiguro el nuevo pinout del dispositivo, el cual quedo de la
siguiente manera:

No. de Pin Descripcion No. de Pin Descripcion 1 TDI, I/O expandible 21, 22, 23 General
I/O 2, 3 General I/O 24 VCC 4 GND 25 InputOE2 5, 6 General I/O 26 InputGCLK2 7
TMS, I/O expandible 27 InputOE1 8 General I/O 28 InputGCLK1 9 VCC (3.3 V) 29, 30,
31 General I/O 10 General I/O 32 TDO, I/O expandible 11, 12, 13, 14 General I/O 33
General I/O 15 VCC 34 VCC 16, 17, 18, 19, 20 General I/O 35,36 General I/O 37 TMS,
I/O expandible 38, 40 General I/O 39 GND

Tabla No. 1: Pin Out Base estándar. Colocar una tabla de cyclone II

Programación del FPGA Cyclone II en Quartus II


A continuación se muestra los pasos para programar un FPGA.

1. Inicializar Quartus II.


2. Del menú File, click en New Project Wizard
… Figura No. 10: Menú File.

3. Se abrirá un asistente, en el cual hay que completar 5 pasos para la configuración del
proyecto.
4. En el paso número 1 se asignara la carpeta en donde se guarden los archivos creados por
el proyecto, así como también el nombre del mismo, la carpeta puede tener cualquier
ubicación y el nombre del proyecto puede ser cualquiera.
Figura No. 11: pagina 1 creación del proyecto

5. La página numero 2 permite agregar archivos de diseño ya existentes, si se requiere un


proyecto desde cero lo ideal es clic en Next.
6. La siguiente etapa permite seleccionar el dispositivo que se requiere programar, para el
ejemplo se utilizara un EPM3064ATC44-10.
Figura No. 12: selección de dispositivos.

7. La etapa 4 permite la selección de las herramientas a utilizar para la compilación del


proyecto por el momento no se configurara nada en esa parte.
8. La etapa 5 muestra un reporte de configuración del proyecto.
Figura No. 13: reporte de configuración.
9. En el menú File, clic en New
10. Seleccionar la opción VHDL file y clic en Ok.

Figura No. 14: selección de tipo de archivo

11. Se abrirá una ventana de edición de texto en la cual se introducirá el código.


12. En el menú File, clic en la opción Save As y se guarda el archivo .tdf con el mismo
nombre del proyecto.
13. Escribir el código.
Figura No. 15: código.

14. En el menú Prossesing seleccionar la opción Start compilation.

Figura No. 16. Compilar el código.


Figura No. 17: si no hay errores se mostrará el siguiente mensaje.
SIMULACIÓN DE CIRCUITOS

Circuitos combinacionales con FPGA cyclone II de


ALTERA
Vas a File  New 
University Program VWF
Al dar doble clic en la opción indicada arriba
caemos en la siguiente ventana

Dando doble clic en la parte en blanco

Aparecen las entradas y salidas del proyecto en que


se está trabajando

Damos clic en la opción Node Finder


Chequeamos que esté la opción Pins All. Y damos clic
en el botón List
Luego de esto damos aceptar (ok)

A la siguiente ventana OK

Y aparece la ventana que se muestra a continuación


Despues de fijar los tiempos de cada entrada. Damos
clic en el boton señalado en la barra de menú.
Ocurrirá una compilación. Si todo está bien debe
salir la siguiente ventana, despues de un tiempo que
dura la compilación. En el proceso de compilar te va
a pedir un nombre para el archivo de simulación.
Coloca el mismo nombre de tu archivo hdl.

Y listo, lo que toca ahora es verificar la tabla de


la verdad de nuestro circuito
Todo esto se hace sino se cuenta con la tarjeta
FPGA.

Pero, en nuestro caso tenemos la cyclone II


EP2C5T144C6

Si observas con
detenimiento veras los
terminales Vcc y GND
en cada uno de los
extremos de los pines
dispuestos como I/O
(Input/Output).

Eso indica que


disponemos de
alimentación desde la
misma tarjeta. Hace que se alivie el trabajo porque
no necesitamos fuente externa.

Teniendo lista la asignación de pines usando Pin


Planner. Como se observa en la siguiente figura.
Lo que toca entonces es cablear realizar las
pruebas en hardware

De esta forma conectas los


pulsadores que te hagan falta.
Recuerda que Vcc y GND lo tomas
de la tarjeta FPGA.

Te hace falta entonces es el


pulsador y la R de 10 KΩ

Viene ahora es ubicar los pines en la tarjeta que


van a servir de entradas y salida.

Teniendo todo listo, procedes a montar tu circuito.

Algo parecido a lo que se ve en la figura


ASIGNACIÓN

1. Realizar el código VHDL para las compuertas: AND, NAND, OR, NOR, EXOR,
EXNOR y NOT, simular en VHDL.
1.1 Explicar paso a paso como es el proceso de instalación del software VHDL usado.
1.2 Realizar el código VHDL para el problema que se le plantea: Un circuito lógico tiene
cuatro entradas A, B, C y D. Determine las ecuaciones lógicas para el circuito, si la salida
será alta solo cuando un número impar de entradas sean altas. Trace un diagrama de
circuito con las compuertas que desee

1.3 Una alarma contra robos esa diseñada de modo que percibe cuatro líneas de señal de
entrada. La línea A es del interruptor secreto de control, la línea B es del sensor de presión
bajo una caja fuerte en un gabinete cerrado, la línea C es de un reloj alimentado por baterías
y la línea D está conectada a un interruptor en la puerta cerrada del gabinete. Las siguientes
condiciones producen un voltaje de 1 lógico en cada línea. A: El interruptor de control está
cerrado. B: La caja está en su posición normal en el gabinete. C: El reloj marca entre las
1000 y las 1400 horas. D: la puerta del gabinete está cerrada. Escriba en código VHDL la
expresión que active la alarma cuando la caja se mueve y el interruptor de control está
cerrado, o cuando el gabinete se abre después de las horas hábiles, o el gabinete está abierto
con el interruptor de control abierto. Trace un Diagrama de circuito.

1.4 Circuito 3: “Un automóvil a prueba de choques”.

Descripción: Se trata de un automóvil con tres sensores, uno al frente y dos a los costados.
Al arrancar, se dirige hacia adelante y si encuentra un obstáculo, gira a uno de los costados,
esquivándolo. La posición de los sensores se muestra en la siguiente figura.

Para girar a los lados, se hace que las llantas giren en distintas direcciones, por ejemplo
para girar a la izquierda, las llantas “X” rotaran hacia atrás mientras las llantas “Y” hacia
adelante. Para hacer que el par de llantas “X” giren hacia adelante se deberá poner en una
variable de control llamada “X” el bit 0, para que giren hacia atrás X=1, igual para el par de
llantas “Y”, con su respectiva variable de control “Y”, la lógica de control de las llantas es
la siguiente.

X Y Descripción 0 0 Hacia adelante 0 1 Hacia la derecha 1 0 Hacia la izquierda 1 1 Hacia


atrás
Si los tres sensores A, B y C están en “1”, es decir, detecta obstáculo en las tres direcciones,
empezará a retroceder. De lo contrario girará en la dirección que esté libre de obstáculos. Si
existe la posibilidad de girar hacia la derecha o hacia la izquierda se girará a la derecha.

1.3.1 Encontrar la tabla de verdad que representa la lógica de control.


1.3.2. Implementar el circuito con código VHDL.
1.3.3. Obtener graficas de simulación, en las que se muestren las entradas (A, B y C) y las
salidas (X y Y), con todas las posibilidades de entrada.

2. Preguntas de Investigación.

2.1 Uso y sintaxis de las instrucciones IF… THEN.


2.2 Uso y sintaxis de la instrucciones CASE… WHEN.
2.3 Uso de las instrucciones anteriores para implementar el código VHDL directamente
desde las tablas de verdad.
2.4 Tipos de datos de entrada y salida que soporta VHDL.
2.5 ¿Cómo se crean arreglos en VHDL?
2.6 ¿Cómo declarar un componente en VHDL? Mostrar un ejemplo.
2.7 ¿Cuáles son los operadores en VHDL?

3. Acerca de la tarea:
3.1 Un reporte impreso 70%
3.1.1 Contenido del reporte
 Portada. 5%
 Objetivos (General y específicos). 5%
 Introducción (máx. 1 página). 5%
 Marco teórico (máx. 5 páginas). 5%
 Obtención del software de simulación VHDL (dirección de descarga) y pasos de
instalación. 10%
 Desarrollo de los circuitos:
o Descripción de los pasos seguidos para la solución. 10%
o Código VHDL. 10%
o Gráficos obtenidos para cada circuito (3 a 5 imágenes por circuito). 10%
o Observaciones. 5 %
 Respuesta a las preguntas de investigación. 10%
 Conclusiones (máx. 1 página). 20%
 Bibliografía. 5% 3.2 Un CD 30% 3.2.1 Contenido del CD.
 Software utilizado. 20%
 Reporte en formato PDF y WORD. 15%
 Códigos utilizados (*.vhd) y todos los que genera el proceso de compilación y ejecución.
40%
 Imágenes de los resultados. 25%

NOTA: El reporte se entregara en un sobre manila rotulado con los nombres y carnet,
dentro deberá ir el CD rotulado de la misma forma y el nombre del CD tendrá los carnet. El
contenido del CD deberá ir ordenado, con carpetas individuales para cada ítem mencionado
ejemplo: IMÁGENES, CIRCUITO1, etc.

Bibliografía:
VHDL Lenguaje para descripción y modelado de circuitos, Fernando Pardo Carpio,
Universidad de Valencia 1997.
https://www.youtube.com/watch?v=00PcyQRHArY
DIGLENSY SAC Primera Empresa del Perú Dedicada al Desarrollo Electrónico, tutorial
VHDL, http://www.diglensy.com/
Análisis y diseño de circuitos lógicos digitales, Víctor Nelson, 1ª Ed.

You might also like