You are on page 1of 142

INTRODUCCION A QUARTUS II 15.

0
- MEDIANTE DISEO VHDL CON
CYCLONE V

Introduccin a Quartus II Diseo VHL con Cyclone V GX


1
INTRODUCCION A QUARTUS II 15.0
- MEDIANTE DISEO VHDL CON
CYCLONE V

Elaborado por

LEIDY CATHERINE BENAVIDES MUOZ

MARIA EDITH MONTENEGRO GUTIERREZ

UNIVERSIDAD DEL CAUCA

INGENIERIA FISICA

JUNIO 2015

POPAYAN-CAUCA

Introduccin a Quartus II Diseo VHL con Cyclone V GX


2
CONTENIDO

pg.

1. Introduccin. 5
2. Generalidades del Software y la FPGA.... 6
2.1. Visin general de Quartus II... 6
2.2. FPGA Cyclone V GX 5CGXfC5C6f27C7... 7
2.2.1. Contenido del paquete Cyclone V GX y Componentes de la
tarjeta 8
2.2.1.1. Diseo y componentes de la FPGA.. 8
2.2.1.2. Diagrama de bloques de la tarjeta.. 10
2.2.2. panel de control.. 11
2.2.2.1. Configuraciones del panel de control 11
2.2.2.2. Control de los LEDs, Displays de 7 segmentos.. 13
2.2.2.3. Interruptores y pulsadores.. 15
2.2.2.4. SRAM / / LPDDR2 controlador y programador.. 15
2.2.2.5. Tarjeta SD.. 17
2.2.2.6. ADC.. 18
2.2.2.7. Comunicacin USB-UART. 19
2.2.2.8. HDMI-TX.. 21
2.2.2.9. HSMC... 22
2.2.2.10. Estructura general del Panel de Control C5G. 23
2.2.3. Uso general de la tarjeta Cyclone V 24
2.2.3.1. Programacin y Configuracin de la tarjeta 24
2.2.3.2. Localizacin de pines, identificacin y descripcin de los
componentes de la tarjeta. 28
2.2.4. Sistema constructor (System Builder). 57
2.1.4.1. Flujo de Diseo General 58
2.1.4.2. Mediante C5G Sistemas Generador (System Generator) 59
2.1.5. Cdigos de Ejemplo Basados RTL. 66
2.1.5.1. Configuracin de Fabrica.. 66
2.1.5.2. Prueba LPDDR2 SDRAM TRL 67
2.1.6. Cdigos de Ejemplo Basados en NIOS II.. 67
2.1.6.1. SRAM. 67
2.1.6.2. UART para control USB LED. 70
2.1.6.3. HDMI-TX 74
2.1.6.4. Prueba de bucle Transceptor HSMC 80
2.1.6.5. Grabacin y reproduccin de Audio. 82
Introduccin a Quartus II Diseo VHL con Cyclone V GX
3
pg
2.1.6.6. Leer sistema de archivos de la tarjeta Micro
SD........................................................................................85
2.1.6.7. Demostracin de reproductor de msica de tarjeta
SD.. 89
2.1.6.8. Lectura ADC.. 93
2.1.6.9. Prueba LPDDR2 SDRAM de Nios II. 98
3. Introduccin a VHDL 102
3.1. Qu es VHDL?..................................................................................................... 102
3.2. Ventajas de VHDL para diseo digital 102
3.3. Elementos de VHDL 102
3.4. Identificadores 105
3.5. Operadores 106
3.6. Estructura Bsica de un Archivo fuente en VHDL..106

4. Quartus II 108
4.1. Inicio en Quartus II 108
4.2. Asignacin de Pines.119
4.3. Simulacin de Circuitos Diseados 124
4.4. Programacin en Cyclone V GX 5CGXFC5C6F27C7.134
5. Glosario137
6. Bibliografa142

Introduccin a Quartus II Diseo VHL con Cyclone V GX


4
1. INTRODUCCION

Actualmente los sistemas embebidos abarcan un gran porcentaje en el mercado de las


nuevas tecnologas, pueden definirse como sistemas programables que no tienen un
propsito en general. En el mundo actual estn presentes en la mayora de entornos,
desde un simple celular hasta una macro-computadora; entre ellos es posible distinguir
sistemas de software y hardware, para el temario del presente documento se enfatiza
en el Hardware, especficamente en las FPGAs.

Se incluye informacin concerniente al uso del software Quartus II (versin 15.0)


utilizado para descripcin de hardware mediante cdigo en VHDL (Very High
Description Languaje), su sntesis, simulacin e implementacin en la FPGA Cyclone V
GX de referencia 5CGXFC5C6F27C7, las dos herramientas son producidas por la
empresa fabricante de dispositivos lgicos programables Altera .

Es concurrente ver que el uso de las FPGA cada vez crece ms en las grandes industrias
tecnolgicas, debido a su capacidad de ser reconfiguradas y de ejecutar mltiples tareas
adems de su bajo costo en el mercado, lo que las hace muy asequible.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


5
2. GENERALIDADES DEL SOFTWARE Y LA FPGA

Iniciando, una FPGA (Field Programmable Gate Array) es un dispositivo programable


configurable que contiene internamente elementos lgicos que responden al diseo
realizado por el usuario. El diseo se logra con cdigo en lenguaje VHDL que se
desarrolla en el entorno del software Quartus II , herramienta usada para la
descripcin, sntesis, anlisis, simulacin y programacin del cdigo a implementar en
la FPGA; este software ofrece gran cantidad de herramientas de diseo as como un
amplio catlogo de las FPGAs producidas por la misma empresa para realizar la
implementacin del diseo en ellas, la compaa Altera ofrece el software de dos
maneras, la primera es con una suscripcin de valor mensual, contiene completo soporte
de los dispositivos y de la versin de este (incluyendo NIOS II y ModelSim); la segunda
es una versin gratuita acadmica para estudiantes o interesados en el desarrollo de
trabajo en el entorno, igualmente obtiene soporte aunque no sea un kit completo. Para
descargar las versiones de la herramienta software debe dirigirse al sitio web de la
empresa (altera.com).

2.1. VISION GENERAL DE QUARTUS II

Como se ha mencionado anteriormente Quartus II es un software para el diseo de


circuitos mediante lenguaje VHDL, adems, simula y analiza la respuesta tanto de
entradas como de salidas del diseo en forma de ondas cuadradas simulando dos
rangos: alto (1) o bajo (0), rangos que son valores lgicos que probablemente tomaran
tanto las entradas como salidas del circuito diseado; una vez realizados todos los
anlisis y simulaciones del diseo se procede a la programacin de la tarjeta, es decir, la
implementacin del circuito diseado en la FPGA (Cyclone V GX). Cabe resaltar que
existen numerosas referencias de FPGA, familias como Cyclone I, Cyclone II Cyclone III,
Cyclone IV, Cyclone V, Arria 10, Arria V, Stratix 10, Stratix V, MAX 10, adems los nuevos
kits de las FPGA SoC como Stratix 10, Cyclone V, Arria 10 y Arria V; cada una de ellas
contiene diferentes tarjetas con diferentes entornos de trabajo (su arquitectura no es
igual).

Introduccin a Quartus II Diseo VHL con Cyclone V GX


6
Spectra-Q Engine; es un motor desarrollado por el
centro de software de diseo de Altera para aumentar los
niveles de rendimiento en cuanto a velocidad de los dispositivos programables de
ltima generacin. Consiste en un nuevo conjunto de algoritmos ms rpidos y
escalables, una nueva infraestructura de base de datos jerrquica, y una nueva
tecnologa de compilacin unificada. Entre las mejoras se encuentra:
a. La compilacin es 8 veces ms rpida, utilizando algoritmos mejorados,
optimizaciones adicionales y la compilacin distribuida.
b. 10 veces ms rpido en la relacin entradas/salidas (E/S) de diseo mediante
la creacin de Asignacin de terminales legales en el arranque del diseo.
c. 5 veces ms rpido en la entrada de diseo al elevar el nivel de abstraccin
del diseo.

Q-sim; software creado por University Program para la


simulacin del comportamiento que pueden adoptar las
entradas y salidas de diseo, se representan con ondas de
forma cuadrada que corresponden a dos nicos valores lgicos, 1 y 0. Est
disponible en Quartus II.

ModelSim; simulador profesional desarrollado por


MentorGraphics, ofrece variadas herramientas tiles para la
simulacin de lenguaje de descripcin de hardware, puede
utilizarse de forma independiente o mediante Quartus II-Altera o Xilinx VIVADO.

NIOS II; es un ncleo procesador configurable que se puede


adaptar a una FPGA en alguna de sus tres versiones
ofrecidas (fast, standard o economy) dependiendo de la
necesidad de aumento de rendimiento; es un procesador de 16 bits basado en
una arquitectura Harvard ya que usa buses separados para instrucciones y datos.

Como nota adicional: Quartus II identifica errores de sintaxis y redaccin, mas no


corrobora que el diseo descrito por el usuario este bien realizado.

2.2. FPGA CYCLONE V GX 5CGXFC5C6F27C7

En el desarrollo del documento se usara esta FPGA (Cyclone V GX 5CGXFC5C6F27C7) en


la construccin de cdigos en VHDL, ejemplos de asignacin de pines, anlisis, sntesis e
implementacin, es decir su uso en general; as mismo se especifican sus caractersticas
y componentes con una breve descripcin y modo de empleo de cada uno.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


7
Este dispositivo es muy empleado por su bajo costo y las ptimas caractersticas de
rendimiento en cuestin de requerimientos de potencia, lo que conduce a una alta
flexibilidad de diseo.

2.2.1. Contenido del paquete Cyclone V GX y componentes de la tarjeta.

Al paquete de Cyclone V GX pertenecen los siguientes elementos:

Figura 1. Contenido del paquete Cyclone V GX

1. Tarjeta Cyclone V GX
2. Gua de usuario
3. Cable de conexin USB tipo A o tipo B
4. Adaptador de alimentacin DC 12 V

2.2.1.1. Diseo y componentes de la FPGA

Observando la arquitectura del dispositivo es conveniente tener presente tanto


las caractersticas de diseo como la ubicacin de los componentes y conectores
del mismo.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


8
Figura 2. Tarjeta Cyclone V GX 5CGXFC5C6F27C7N

FPGA CYCLONE V GX 5CGXf5C6CF27C7


# Componente # Componente
1 Conector de Alimentacin DC 14 EPCQ
2 Encendido/Apagado 15 LPDDR2
3 Encabezado para Arduino 16 SMA_RX(ON)
4 2x20 GPIO 17 SMA_TX(ON)
5 Display 7-segmentos 18 Interruptor Ejecucin Prog.
6 Botn CPU reset 19 Memoria Micro SD
7 10 interruptores (switches) 20 Line Out (salida de lnea)
8 4 botones 21 Line In (Entrada de lnea)
9 Jumper HSMC -12V 22 M/C In
10 18 leds (rojo - verde) 23 HDMI TX
11 Tarjeta Cyclone V GX 24 UART A USB
12 Conector HSMC 25 Conexin USB BLASTER
13 SRAM
Tabla 1. Componentes de la FPGA

Esta tarjeta tiene caractersticas que pueden ser usadas desde simples diseos de
circuitos hasta varios proyectos de multimedia.

Como informacin relevante concerniente a la FPGA:

Introduccin a Quartus II Diseo VHL con Cyclone V GX


9
a. Dispositivo FPGA

Tarjeta Cyclone V GX 5CGXFC5C6F27C7


77K Elementos Lgicos Programables
4884 Kbits de Memoria Embebida
6 PLL fraccionados
2 controladores de memoria de disco duro
3 transceptores de 3.125 G

b. Configuracin y depuracin

Dispositivo de configuracin serial Quad EPCQ256 en FPGA


A bordo cable USB BLASTER (tipo B conector USB)
Modo de configuracin apoyado JTAG y SA

c. Dispositivo de memoria

LPDDR2 de 4 Gb bus de datos 32x bits


SRAM 4Mb bus de datos de 16x bits

2.2.1.2. Diagrama de bloques de la tarjeta

Figura 3. Diagrama de bloques de la tarjeta

Introduccin a Quartus II Diseo VHL con Cyclone V GX


10
2.2.2. panel de control

La FPGA Cyclone V GX viene con un programa de Panel de Control que permite a los
usuarios acceder a diversos componentes en la tarjeta de un ordenador. El
ordenador se comunica con la tarjeta a travs de una conexin usb. Este programa
puede ser utilizado para verificar la funcionalidad de los componentes de la tarjeta o
ser utilizado como una herramienta de depuracin durante el desarrollo de cualquier
cdigo RTL (lenguaje de transferencia de registros).

Este captulo presenta en primer lugar algunas funciones bsicas del panel de
control, luego describe su estructura en forma de diagrama de bloque y finalmente
describe sus capacidades.

2.2.2.1. configuracin del panel de control

La utilidad del Software de Panel de Control se encuentra en el directorio


"Herramientas/panel de control" en el CD del sistema Cyclone V GX. Es libre de
instalacin, simplemente tienes que copiar toda la carpeta a tu ordenador y poner en
marcha el panel de control mediante la ejecucin de la "C5G_ControlPanel.exe".

Los circuitos de control especficos deben descargarse a su tarjeta FPGA antes de que
el panel de control pueda solicitar llevar a cabo las tareas requeridas. El programa
llamara a la herramienta Quartus II para descargar el circuito de control en la tarjeta
FPGA a travs de la conexin USB-Blaster [USB-0].

Para activar el Panel de Control, realizar los siguientes pasos:

1. instalar Quartus II (versin 15.0) correctamente en tu PC.

2. Coloque el interruptor RUN/PROG en la posicin RUN.

3. Conecte el cable USB suministrado al puerto USB Blaster, la fuente de alimentacin


de 12V y gire el interruptor.

4. Iniciar el ejecutable C5G_ControlPanel.exe en el equipo. La interfaz de usuario de


Panel de Control se muestra en la figura 2-1.

5. El flujo de bits C5G_ControlPanel.sof es cargado automticamente tan pronto como


se inicia el C5G_ControlPanel.exe.

6. en caso de una desconexin, haga clic en CONNECT donde el .sof se cargarn


nuevamente en la tarjeta.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


11
Tenga en cuenta que el Panel de Control va a ocupar el puerto USB hasta que cierre
dicho puerto; se puede utilizar Quartus II para descargar un archivo de configuracin
en el FPGA, hasta que se cierre el puerto USB.

7. El Panel de Control est ahora listo para usar, se establece el estado ON/OFF para
algunos LED y se observa el resultado en el tablero C5G.

Figura 2-1 el Panel de Control C5G

El concepto del Panel de Control C5G es ilustrado Figura 2-2. El "circuito de Control" que
realiza las funciones de control se implementa en el tablero de la FPGA.

Se comunica con la ventana de Panel de Control, que es activa en el ordenador, va USB


Blaster. La interfaz grfica se utiliza para enviar comandos al circuito de control, maneja
todas las solicitudes y realiza las transferencias de datos entre la computadora y la
tarjeta Cyclone V GX.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


12
Figura 2-2 Concepto de C5G Panel de Control

El Panel de Control C5G puede utilizarse para iluminar con LEDs, cambiar los valores
mostrados en el segmento 7, supervisar el estado de botones/interruptores,
lectura/escritura de la SRAM y memoria LPDDR2, salida de patrn de color HDMI-TX
para monitor VGA, verificar funcionalidad de conector HSMC I/OS, comunicar con la PC
va UART o interfaz USB, leer informacin de especificacin de tarjeta SD. La funcin de
lectura/escritura de una palabra o un archivo completo desde/para la memoria permite
al usuario desarrollar aplicaciones multimedia (Reproductor de Audio, visor de
imgenes) sin tener que preocuparse acerca de cmo construir un programador de
memoria.

2.2.2.2 Control de los LEDs, Displays de 7 segmentos

Una funcin simple del Panel de Control es permitir el ajuste de los valores mostrados
en los LEDs, del displays de 7 segmentos. Elegir la opcin LED lleva a la ventana de la
Figura 2-3. Aqu, directamente puede activar los LEDs o desactivar individualmente o
haciendo clic en Light All 0 Unlight All.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


13
Figura 2-3 control de LEDs

Al elegir la opcin 7-SEG de la ventana mostrada en la figura 2-4. Se puede utilizar


directamente las flechas izquierda-derecha para controlar los patrones de 7 SEG de la
tarjeta Cyclone V GX que se actualizan inmediatamente. Tenga en cuenta que no estn
habilitados los puntos de los 7 SEGs de la tarjeta Cyclone V GX.

Figura 2-4 controles de display 7-SEG.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


14
La capacidad de establecer valores arbitrarios en dispositivos de pantalla simple no es
necesaria en las actividades de diseo tpico. Sin embargo, ofrece a los usuarios un
mecanismo simple para verificar que estos dispositivos funcionan correctamente en
caso de que se sospeche un mal funcionamiento. Por lo tanto, puede ser utilizado para
propsitos de solucin de problemas.

2.2.2.3. Interruptores y pulsadores

Al elegir la opcin interruptores de la ventana en la figura 2-5. La funcin est diseada


para monitorear el estado de interruptores deslizantes y botones de presin en tiempo
real y mostrar el estado de una interfaz grfica de usuario. Puede ser utilizado para
verificar la funcionalidad de los interruptores deslizantes y botones pulsadores.

Figura 2-5. Control de interruptores y botones.

La capacidad de verificar el estado del pulsador y el interruptor no es necesaria en


actividades de diseo tpico. Sin embargo, proporciona a los usuarios un mecanismo
sencillo para comprobar si estn funcionando correctamente los botones e
interruptores. Por lo tanto, puede ser utilizado para propsitos de solucin de
problemas.

2.2.2.4. SRAM / / LPDDR2 controlador y programador

Introduccin a Quartus II Diseo VHL con Cyclone V GX


15
El Panel de Control puede utilizarse para lectura/escritura de datos de los chips SRAM y
LPDDR2 en la tarjeta Cyclone V GX. Como ejemplo, vamos a describir cmo se puede
acceder a la LPDDR2; el mismo enfoque se utiliza para acceder al SRAM. Haga clic en la
pestaa memoria y seleccione "LPDDR2" para llegar a la ventana Figura 2-6.

Figura 2-6. Acceder a la LPDDR2.

Una palabra de 16 bits puede escribirse en la LPDDR2 entrando en la direccin de la


ubicacin deseada, especificando los datos a ser escritos y presionando el botn Write.
Contenido de la ubicacin se puede leer pulsando el botn Read. Figura 2-6 muestra el
resultado de escribir el valor hexadecimal 06CA en direccin offset 200, seguido por el
mismo lugar de la lectura.

La funcin de escritura secuencial del Panel de Control se utiliza para escribir el


contenido de un archivo en la SDRAM LPDDR2 como se explica a continuacin:

1. especificar la direccin en el cuadro Direccin.

2. Especificar el nmero de bytes a escribir en el cuadro longitud. Si el archivo entero


debe ser cargado, una marca puede colocarse en la caja de la longitud del archivo en vez
de dar el nmero de bytes.

3. Para iniciar el proceso de escritura, haga clic en escriba un archivo al botn de la


memoria.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


16
4. Cuando el Panel de Control responde con el cuadro de dilogo estndar de Windows
pidiendo el archivo de cdigo fuente, especifique la ubicacin del archivo deseado de la
manera habitual.

El Panel de Control tambin permite cargar archivos con extensin .hex. Los archivos
con extensin .hex son archivos de texto ASCII que especifican los valores de memoria
utilizando caracteres ASCII para representar los valores hexadecimales. Por ejemplo, un
archivo que contiene la lnea

0123456789ABCDEF

Define ocho valores de 8 bits: 01, 23, 45, 67, 89, AB, CD, EF. Estos valores se cargarn
consecutivamente en la memoria.

La funcin leer secuencial, se utiliza para leer el contenido de la LPDDR2 y llenarlos en


un archivo como se explica a continuacin:

1. Especificar la direccin en el cuadro Direccin.

2. Especificar el nmero de bytes que se copia en el archivo en el cuadro longitud. Si


todo el contenido de la LPDDR2 van a copiarse (que implica los 512 Mbytes),
luego coloque una marca de verificacin en el cuadro de memoria.

3. Pulse cargar contenido de memoria a un botn de archivo.

4. Cuando el Panel de Control responde con el cuadro de dilogo estndar de


Windows pidiendo el archivo de destino, especifique el archivo deseado de la
manera habitual.

Los usuarios pueden utilizar la SRAM de forma similar.

2.2.2.5. Tarjeta SD.

La funcin est diseada para leer la informacin de identificacin y especificacin de la


tarjeta SD. El modo de SD de 4 bits se utiliza para acceder a la tarjeta SD. Esta funcin
puede utilizarse para verificar la funcionalidad de la interfaz de la tarjeta SD. Siga los
siguientes pasos para realizar el ejercicio de la tarjeta SD:

1. Al elegir la tarjeta SD se muestra la ventana de la Figura 2-7.


2. Insertar una tarjeta SD a la tarjeta Cyclone V GX y luego presione el botn de
lectura para leer la tarjeta SD. Identificacin de la tarjeta SD, la especificacin y la
informacin de formato del archivo se mostrar en la ventana de control.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


17
Figura 2-7 leer la SD tarjeta de identificacin y especificacin.

2.2.2.6. ADC

Desde el Panel de Control, los usuarios son capaces de ver el convertidor de


analgico a digital de 12 bits y ocho canales de lectura. Los valores mostrados son el
registro del ADC y las salidas de todos los ocho canales independientes. La tensin
indicada es la tensin de la lectura de los pines separados de la cabecera de
extensin. Figura 2-8 muestra las lecturas ADC cuando se elige la pestaa de ADC.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


18
Figura 2-8 lecturas de ocho canales ADC.

2.2.2.7. Comunicacin USB a UART

El Panel de Control permite verificar el funcionamiento del UART para interfaz de


comunicacin serial del USB de la tarjeta Cyclone V GX. La configuracin se establece
mediante la conexin de un cable USB desde el PC al puerto USB en el Panel de
Control se comunica con el software emulador de terminal en el PC, o viceversa. La
ventana de terminal de recepcin del Panel de Control monitoriza el estado de la
comunicacin serial. Siga los pasos siguientes para iniciar la comunicacin UART:

1. Elegir la ficha UART- USB la ventana de la Figura 2-9.


2. Enchufe un cable USB del puerto USB del PC a la USB al puerto UART en la tarjeta
Cyclone V GX.
3. La configuracin de la UART se proporciona a continuacin en caso de utilizar
una conexin desde el PC. Figura 2-10 muestra la pantalla de configuracin de la
UART en utilidad de masilla.

Velocidad en baudios: 115200

Bit de comprobacin de paridad: ninguno

bits de datos: 8

Introduccin a Quartus II Diseo VHL con Cyclone V GX


19
bits de parada: 1

Control de flujo (CTS/RTS): apagado

4. Para comenzar la comunicacin, introduzca Letras especficas seguidas haciendo


clic en enviar. Durante el proceso de comunicacin, observar el estado de la
ventana de terminal de recepcin para comprobar su funcionamiento.

Figura 2-9 UART a USB de comunicacin Serial.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


20
Figura 2-10 configuraciones UART en masilla.

2.2.2.8 HDMI-TX

El Panel de Control C5G proporciona la funcin de patrn de vdeo que permite al


usuario usar un patrn de color de salida HDMI interfaz a monitor LCD usando la tarjeta
cyclone V GX. Siga los siguientes pasos para generar la funcin de patrn de video:

1. Elegir la ficha Video de la ventana en la figura 2-11.


2. Enchufe un cable HDMI al conector HDMI de la tarjeta Cyclone V GX y monitor
LCD.
3. Monitor LCD mostrar el mismo patrn de color de la ventana de panel de
control.
4. Haga clic en el desplegable del men mostrado en la figura 2-11 donde puede
generar el patrn seleccionado individualmente.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


21
Figura 2-11 Pantalla VGA de control.

2.2.2.9. HSMC

Seleccione la ficha HSMC para ver la ventana que se muestra en la figura 2-12. Esta
funcin est diseada para verificar la funcionalidad de las seales en el conector HSMC.
Antes de ejecutar la prueba de verificacin de bucle invertido HSMC, siga las
instrucciones que se observ en la seccin de instalacin de bucle y haga clic en
verificar. Recuerde apagar la tarjeta Cyclone V GX antes de instala el adaptador de bucle
invertido HSMC para evitar cualquier dao a la tarjeta.

El adaptador de bucle invertido HSMC no se proporciona en el paquete kit pero puede


adquirirse a travs del sitio web: http://hsmc_loopback.terasic.com.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


22
Figura 2-12 HSMC bucle verificacin prueba realizada bajo Panel de Control.

2.2.2.10. Estructura general del Panel de Control C5G

El Panel de Control C5G se basa en un sistema de Nios II Qsys instanciado en la FPGAS


Cyclone V GX con software que se ejecuta en la memoria del chip. La parte de software se
implementa en cdigo de C; la parte de hardware se ejecuta en cdigo de Verilog HDL
con constructor de Qsys. El cdigo fuente no est disponible en el CD del sistema C5G.

Para ejecutar el Panel de Control, los usuarios deben seguir el ajuste de configuracin
segn la seccin 3.1. En la Figura 2-13 muestra la estructura del Panel de Control. Cada
dispositivo de entrada/salida es controlado por el procesador de NiosII en el chip de la
FPGA. Se realiza la comunicacin con el PC va USB Blaster. El NiosII interpreta los
comandos enviados desde el PC y realiza las acciones correspondientes.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


23
Figura 2-13 el diagrama de bloques del panel de control C5G.

2.2.3. Uso general de la tarjeta Cyclone V

2.2.3.1. Programacin y Configuracin de la Tarjeta

El kit de Cyclone V GX contiene un dispositivo de configuracin en serie que almacena


los datos de configuracin para la FPGA, estos datos se cargan automticamente desde el
dispositivo de configuracin cuando la FPGA se enciende. Usando Quartus II es posible
reconfigurar la FPGA en cualquier momento, igualmente es posible cambiar los datos no
voltiles que se almacenan en el dispositivo de configuracin. Es decir, existen dos tipos
de programacin: Programacin JTAG y programacin AS.

Cadena JTAG en Tarjeta Cyclone V GX;


Al usar la interfaz JTAG para configurar la FPGA, la cadena JTAG de Cyclone V
debe formar un bucle cerrado permitiendo que el programador de Quartus II
detecte el dispositivo. Un corto circuito en el pin1 y pin2 del JP2 puede desactivar
las seales JTAG sobre el conector HSMC que lo har una cadena de bucle cerrado
JTAG en Cyclone V. Por lo tanto, el dispositivo solo ser detectado por el
programador de Quartus II; si el usuario desea conectar otro dispositivo FPGA en
la cadena a travs del conector HSMC, debe remover el puente (Jumper) JP2, con
el pin 1 y pin2 abiertos en JP2, para permitir puertos de seales JTAG en el
conector HSMC.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


24
Figura 4. Cadena JTAG en Cyclone V GX

Figura 5. Encabezado de configuracin de cadena JTAG.

Para la programacin y configuracin de la tarjeta Cyclone V GX la FPGA es conectada a


un ordenador mediante una conexin USB, de esa manera, la tarjeta ser identificada
por Quartus II como un dispositivo de conexin USB Blaster. Las secciones siguientes
describen paso a paso los dos tipos de programacin y configuracin posibles para la
tarjeta.

1. Programacin JTAG; en este mtodo de programacin, Grupo de Accin Conjunta


de Prueba (Juntion Test Action Group) llamado as por los estndares IEEE, el flujo de
bits de configuracin se descarga directamente en la FPGA; esta conserva la
configuracin, siempre y cuando se aplique energa a la placa, la informacin se perder
cuando no este alimentada.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


25
1.1. Configuracin de la FPGA en modo JTAG; para la descarga de un flujo de bits de
configuracin en la FPGA Cyclone V GX en modo JATG:

* Asegurarse que la FPGA se encuentre alimentada por una fuente de poder.


* Configurar el circuito de programacin JATG mediante el interruptor deslizante
(switch SW11) RUN / PROG, ajustndolo en el modo RUN, observar Figura 6.
* Conectar el cable USB al puerto USB Blaster de la tarjeta.
*La FPGA ya puede ser programada usando el programador de Quartus II (Quartus II
programmer) seleccionando un archivo de flujo de bits de configuracin con la
extensin .sof. Observar la Figura 7.

Figura 6. Interruptor RUN / PROG SW11

Figura 7. Ilustracin para la configuracin de FPGA en modo JTAG

2. Programacin AS; en este mtodo, llamado Programacin en Serie Activa, el


flujo de bits de reconfiguracin se descarga en el dispositivo de configuracin Altera-
EPCQ256, que proporciona almacenamiento no voltil del flujo de bits, de modo que la
informacin se mantiene incluso cuando la alimentacin a la FPGA est apagada. Cuando
la alimentacin esta activa, los datos de configuracin en el EPCQ256 se cargan
automticamente en la FPGA.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


26
2.1. Configuracin del dispositivo EPCQ256 en modo AS; para descargar un flujo
de bits de configuracin en el dispositivo EPCQ256, seguir los siguiente pasos ilustrados
en la Figura 8:

* Asegurarse de la alimentacin activa en la FPGA.

* Conectar el cable de conexin USB al puerto USB Blaster de la tarjeta.

* Configurar el circuito de programacin JTAG por medio del interruptor RUN/PROG


(SW11) en la posicin PROG.

* El dispositivo EPCAQ256 ya puede ser programado mediante el programador de


Quartus II utilizando un archivo de flujo de bits de configuracin de extensin .pof .

* Finalizada la operacin de programacin deslizar nuevamente el interruptor RUN /


PROG a la posicin RUN, seguidamente restablecer la tarjeta deslizando el interruptor
de alimentacin y encendindola nuevamente; esto causara que los nuevos datos de
configuracin en el EPCQ256 sean cargados en la FPGA.

Figura 8. Ilustracin de la configuracin del EPCQ256 en modo AS.

LEDs de Estado de la FPGA.

El entorno de la FPGA Cyclone V GX posee Leds que determinan el estado de la misma


segn sea su funcionamiento, observar la Tabla 2 y la Figura 9.

Referencia Nombre del Descripcin


en Tarjeta LED

Introduccin a Quartus II Diseo VHL con Cyclone V GX


27
D5 12-V poder Ilumina cuando la alimentacin 12-V esta activa
D6 3.3-V poder Ilumina cuando la alimentacin 3.3-V esta activa
D24 HSMC_12-V Ilumina cuando la alimentacin 12-V HSMC es
poder activa
D23 HSMC_PSNT_n Ilumina cuando la tarjeta hija HSMC(Daughter Card)
est presente
D6 Uled Ilumina cuando el USB-Blaster est trabajando
Tabla 2. Descripcin del estado de los LEDs

Figura 9. Ubicacin de los Leds de estado en la FPGA.

2.2.3.2. Localizacin de pines, identificacin y descripcin de los


componentes y de la tarjeta.

2.2.3.2.1. Entradas y salidas (I/O) de uso general.

1. Pulsadores (push button);

La tarjeta incluye 4 pulsadores (push-button) que se comportan como pulsadores anti


rebote (deounced) utilizando un circuito Schmitt Trigger (Figura 10). Las salidas del
dispositivo Schmitt Trigger estan conectadas directamente a la FPGA; cada botn provee
un nivel lgico alto cuando no est presionado, y provee un nivel lgico bajo cuando
est presionado, son apropiados para ser usados como circuitos relojes (clocks) o

Introduccin a Quartus II Diseo VHL con Cyclone V GX


28
circuitos de entradas y salidas de reinicio. La Tabla 3, muestra la localizacin de pines
correspondiente en la tarjeta para cada pulsador.

Figura 10. Conexin entre los pulsadores,


el 74AUC17 y la FPGA

Tabla 3. Nombre de pines para los pulsadores.

2. Interruptores de deslice (Switches);

Consisten en 10 interruptores (switches) conectados a la FPGA en la tarjeta (ver Figura


11); no se comportan como anti rebote (debounced), y son asumidos para el uso de
niveles de sensibilidad de entradas para el circuito; son conectados directamente a un
pin de la FPGA, cuando un interruptor est en la posicin bajo (DOWN) provee un nivel
lgico bajo a la FPGA, y cuando est en la posicin alto (UP) provee un nivel lgico alto.
Los pines correspondientes a cada interruptor en la FPGA se encuentran en la tabla 4.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


29
Figura 11. Conexin y Posicin de los interruptores.

Tabla 4. Pines en la FPGA para interruptores.

3. Leds

Ellos son 18 LEDs controlables conectados a la FPGA en la tarjeta; se dividen en 10 LEDs


rojos situados arriba de los 10 interruptores, y 8 LEDs verdes situados arriba de los
pulsadores. Cada uno es accionado directamente por un pin de la FPGA; basta con
conducirlo al pin asociado, lo lleva un nivel lgico alto, es decir, LED encendido, y
conducirlo a un nivel lgico bajo lo apaga. Observar Figura 12 y Tabla 5.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


30
Figura 12. Conexin entre los LEDs y la FPGA

Tabla 5. Pines para cada LED en la FPGA.

4. Despliegue 7-segmentos;

La FPGA tiene 4 despliegues 7-segmentos de configuracin nodo comn, como se indica


el a figura 13, las conexiones del despliegue se hacen por pines en la FPGA; as, se aplica
un nivel lgico alto con 0 lgico, es decir, cuando enciende y un nivel lgico bajo con 1
lgico para que no ilumine.

Observar en la figura 14 la conexin entre los despliegues HEX2 y HEX3, pues comparten
un bus GPIO, cuando se usen estos dos despliegues se necesita los switches Dip S1/S2
que son localizados en la espalda de la tarjeta, deben estar en la posicin ON.

Cada despliegue 7-segmentos tiene una lista de posiciones de 0 a 6 que controlan la


visualizacin por medio de su iluminacin; observar el esquemtico (Figura 15).

Para la ubicacin y detalle de los pines correspondientes a cada elemento (0 a 6) de los


7-segmentos, observar la tabla 6.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


31
Figura 14. Conexin entre despliegues 7-segs y la FPGA.

Figura 15. Ubicacin correspondiente PIN-ELEMENTO 7_SEG.

Donde HEX0 corresponde al primer despliegue, HEX1 al segundo, HEX2 al tercero y


HEX3 al cuarto 7-segmentos; los elementos se enumeran desde 0 a 6, de forma tal, que si
se desea mostrar un nmero cualquiera, se tiene que iluminar cada elemento necesario
para formar dicho nmero mediante un vector de 7 posiciones.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


32
Tabla 6. Pines correspondientes a cada elemento para cada 7-segs.

5. Circuito Reloj u Oscilador (Clock Circuit);

El entorno de la tarjeta incluye un reloj (clock) de 50 MHz y un generador de reloj (Clock


Generator) programable, las frecuencias por defecto de los relojes externos de la FPGA
se muestran en la figura 16.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


33
Figura 16. Circuito reloj en la FPGA.

La programacin del Generador de Reloj es altamente flexible y el generador/buffer de


reloj es configurable, esto provee seales de reloj de calidad especial para transceptores
de alta velocidad. El reloj generador es controlado por la FPGA a travs de la interface
serie 12C. El usuario puede modificar la frecuencia entre 0.16 MHZ y 200 MHz. Observar
la tabla 7 y la tabla 8, donde se encuentra informacin concerniente a los pines para cada
tipo de reloj.

Tabla 7. Pines de oscilador (clock o reloj) de 50 MHz no programable.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


34
Figura 8. Control de Oscilador (Clock o Reloj) programable-pines.

6. Puerto serial RS-232 a Interfaz USB

Est diseado para realizar la comunicacin entre la tarjeta y el PC, permitiendo una
velocidad de transmisin de hasta 3 Mbps. Esta interfaz no suportara seales de
control de flujo HW. La interfaz fsica se hecha mediante un puente UART-USB o el chip
de FT232R y se conecta al host mediante un conector (cable) tipo B.

Tabla 9. Asignacin de pines, Nombre de la seal y funciones. RS-232.

7. SRAM: Memoria de Acceso Aleatorio Esttica.

El dispositivo SRAM IS61WV25616 es destacado en el entorno de la tarjeta (Figura 17).


Para mayor informacin sobre este dispositivo dirigirse a su hoja de especificaciones
(Datasheet).

Figura 17. Conexin entre SRAM y la FPGA.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


35
Tabla 9. Asignacin de pines para SRAM y descripcin.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


36
8. Memoria LPDDR2;

La tarjeta de desarrollo contiene una memoria DDR2 SDRAM (LPDDR2) mvil de baja
potencia de 4Gb que es un CMOS de alta velocidad, la Memoria de Acceso Aleatorio
Dinmico contiene 4, 294, 967,296 bits (Figura 18 y Figura 19). Para ms informacin
concerniente a la memoria LPDDR2 dirigirse a su datasheet. Tabla 10. Asignacin de
pines.

Figura 18. Conexin entre la memoria LPDDR2 y la FPGA

Figura 19. Ubicacin de la Memoria LPDDR2 en el dispositivo.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


37
Introduccin a Quartus II Diseo VHL con Cyclone V GX
38
Tabla 10. Asignacin de pines y descripcin memoria LPDDR2.

9. Tarjeta Micro SD;

La tarjeta de desarrollo es compatible con tarjetas Micro SD usando lneas de datos x4.
Observar la conexin entre la tarjeta Micro SD y la FPGA (Figura 20) y la forma correcta
de conectarla (Figura 21), adems la asignacin de pines se encuentra en la tabla 11.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


39
Figura 20. Conexin entre Micro SD y la FPGA.

Figura 21. Insertar la Tarjeta Micro SD en el Dispositivo.

Tabla 11. Asignacin de Pines para Tarjeta Micro SD.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


40
10. Interfaz HDMI TX;

La tarjeta de desarrollo provee un transmisor HDMI de alto rendimiento (High


Performance) a travs de los dispositivos anlogos ADV7513 que incorporan
caractersticas HDMI v1.4, incluyendo soporte a video 3D, y 165 MHz para soporte de
todos los formatos de video hasta 1080p y UXGA. El ADV7513 es controlado a travs de
una interfaz de Bus serie 12C, que es conectada a los pines a la FPGA. Un diagrama
esquemtico es la figura 21, para informacin detallada acerca del uso del ADV7513
HDMI-TX dirigirse al sitio web de la manufactura y a su datasheet.

Figura 21. Conexin entre puerto HDMI-TX y la FPGA.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


41
Tabla 12. Asignacin de Pines conexin HDMI-TX.

11. Interfaz de Audio

La tarjeta ofrece una alta calidad de audio (High Quality) de 24-bit mediante el
dispositivo anlogo SSM2603 CODEC de audio (codificador /decodificador). Este chip
soporta entrada de micrfono, entrada de lnea (line-in), y puertos de salida de lnea, con
una frecuencia de muestreo ajustable desde 8kHz hasta 96kHz. El SSM2603 es
controlado mediante una interfaz de Bus serie 12C, que es conectada a la FPGA por
medio de pines. Figura 22 esquemtico de la conexin. Se recomienda consultar el
datasheet del dispositivo SSM2603.

Figura 22. Conexin entre la interfaz de Audio y el dispositivo

Introduccin a Quartus II Diseo VHL con Cyclone V GX


42
Tabla 13. Asignacin de Pines para interfaz de Audio en la FPGA.

12. HSMC : Tarjeta Intermedia de Alta Velocidad (High-Speed


mezzanine Card);

La tarjeta de desarrollo tiene un conector HSMC, este conector provee un mecanismo


para ampliar el conjunto de perifricos (peripheral-set) de una tarjeta de acogida FPGA
mediante tarjetas adicionales, que pueden hacer frente al requerimiento de sealizacin
de alta velocidad de hoy, as como soportar la interfaz de dispositivos de baja velocidad.
La interfaz HSMC es soportada por el JTAG, salidas y entradas de reloj, serial I/O de alta
velocidad (transceptores), y un solo trmino o sealizacin diferencial.

La interfaz HSMC conectada al dispositivo es un conector femenino (hembra) HSMC


que tiene un total de 172 pines, incluyendo 121 pines de seal, 39 pines de poder, y 12
pines de tierra. El conector HSMC est basado en el terreno Samtec de 0.5mm, el
montaje superficial es de la familia QSH de alta velocidad, conectores de tarjeta-a-tarjeta
(board-to-board). La tabla 14 indica el mximo poder de consumo para el conector
HSMC.

Note que la barra de alimentacin de +12V pasa por un puente (Jumper (Figura 23)), la
funcin del jumper es evitar los casos en que el usuario no utilice la alimentacin de 12V,
y el poder va directamente a las tarjetas hijas HSMC y por lo tanto conduce a la quemas
de las entradas y salidas (I/O) de la FPGA.

Este Jumper se encuentra situado en la esquina inferior derecha cerca del conector
HSMC. La configuracin predeterminada de fbrica es OFF, lo que significa que el poder
de 12V no estar disponible para las tarjetas hijas. Cuando el usuario necesita conectar
las tarjetas hijas, necesita cambiar el jumper en la posicin ON. Observar la tabla 14.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


43
Figura 23. Ubicacin del Jumper en la FPGA.

Tabla 14. Posicin del jumper ON y OFF.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


44
Ellos son tres bancos en este conector, se muestra la
disposicin del banco de seales con respecto al conector
SAMTEC. La tabla 15 muestra las asignaciones de pines
correspondientes.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


45
Introduccin a Quartus II Diseo VHL con Cyclone V GX
46
Introduccin a Quartus II Diseo VHL con Cyclone V GX
47
Tabla 15. Asignacin de pines para conector HSMC.

13. Utilizando la Cabecera de Expansin 2x20 GPIO (Expansion


Header);

La tarjeta provee una cabecera de expansin de 40 pines (GPIO) y una cabecera de


expansin Arduino Uno R3. Estos dos tipos de encabezados comparten partes de IO. En
adicin, el GPIO comparte I/O con dos de los despliegues 7-segmentos (Figura 24).

Figura 24. Conexiones entre FPGA-GPIO-Arduino y 7-segs-bus compartido.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


48
Encabezado de Expansin de 40 pines (Expansion Header);
El encabezado de 40 pines se conecta directamente a 36 pines de la FPGA, y
tambin provee 5V DC, 3.3V DC y dos pines de GND (tierra). Distribucin de I/O
en el conector GPIO figura 25. El mximo poder de consumo de las tarjetas hijas
(daughter card o tarjetas secundarias) se muestra en la tabla 16.

Tabla 16. Poder de consumo de las Tarjetas secundarias.

Figura 25. Disposicin de pines GPIO.

Cada pin en el encabezado de expansin es conectado a dos diodos y un resistor que


provee proteccin contra los altos y bajos voltajes (Figura 26).

Para el uso de esta regleta de expansin es necesario poseer una conexin de tipo
hembra en un extremo y dependiendo de la aplicacin se escoge el segundo extremo de
la conexin. Ejemplo: La salida a un servomotor necesita una conexin con extremos
macho y hembra.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


49
Figura 26. Proteccin de los pines.

NOTA: Observar la posicin del GPIO en la FPGA y la etiqueta de cada pin, puesto
que puede no coincidir grficamente como se encuentra en la Figura 25. El GPIO
en la FPGA Cyclone V GX 5CGXF5C6CF27C7 se encuentra en una posicin invertida
a como se ve en la Figura 25.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


50
Tabla 17. Asignacin de pines para el encabezado GPIO.

Encabezado de Expansin de Arduino Uno R3

La tarjeta provee compatibilidad con Arduino Uno R3, la expansin viene con cuatro
cabeceras independientes. Las cabeceras conectan un resistor serial de 47 ohm a 17
pines (16 pines GPIO y 1 pin Reset) de la FPGA, 8 pines de entrada analgica se conectan
al ADC, y tambin proporciona 12v DC (VCC12), 5V (VCC5), 3.3V DC (VCC3P3 y IOREF)
y 3 pines de GND (Tierra). Ver Figura 27.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


51
Figura 27. Lista de nombres de pines de salida del conector Arduino Uno. La
fuente azul representa la definicin de pin out de Arduino.

Los 16 pines GPIO se proveen al encabezado de Arduino (Arduino Header) para seales
digitales IO y estas seales comparten bus (conexin) con la expansin de 40 pines del
GPIO. Ver figura 28.

Para la asignacin de pines ver la tabla 18, contiene informacin concerniente al


conector de Arduino Uno (digital).

Introduccin a Quartus II Diseo VHL con Cyclone V GX


52
Figura 28. Nombre de pines de salida del conector de Arduino, los nombres de
las seales (compartiendo bus con el GPIO) conectados a la FPGA estn
representados con fuente roja.

Tabla 18. Lista de pines del conector de Arduino Uno-Digital.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


53
Adems de los 16 pines para GPIO digital, tambin hay 8 entradas anlogas en el
Encabezado de Arduino Uno R3, es evidente que para ello debe utilizarse un ADC
(Conversor de seales Anlogas a Digitales), para este caso un ADC LTC2308 (referirse
a su datasheet para mayor informacin), de Linear Technology en la tarjeta para
posibles aplicaciones anlogo-digital.

El LTC2308, tiene un bajo nivel de ruido, 500 ksps, 8 canales, ADC de 12-bits con una
interfaz en serie compatible SPI/MICROWIRE. Este ADC incluye una referencia interna y
un circuito de muestreo y retencin (sample-and-hold circuit) completamente
diferencial para reducir el ruido de modo comn. El reloj de conversin interno permite
que la serie de salida de datos del reloj externo (SCK) pueda operar en una frecuencia
de hasta 40MHz.

Este ADC es controlado a travs de una interfaz de bus serie SPI, que es conectada a los
pines de la FPGA. Ver figura 29.

Figura 29. Conexin entre la FPGA, el ADC y los pines anlogos del conector de
Arduino Uno R3.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


54
Fuera de los 16 pines de IO digitales, 2 pines poseen funcionalidades digitales y
anlogas acordes con los ajustes del Encabezado de Arduino (Arduino Header). El MCU
en el men principal de Arduino puede seleccionar la funcin anloga o la funcin
digital. Desafortunadamente esta seleccin no puede hacerse con la FPGA y los usuarios
tendrn que utilizar los correspondientes interruptores (Jumpers) para hacer la
seleccin. Ver Tabla 19 y tabla 20.

Para activar la funcin digital o anloga de los dos pines mencionados anteriormente, se
debe usar los jumpers JP15 y JP16 que tienen tres posicin posibles: 1,2 y 3; para la
funcin digital se tiene: Arduino_IO14 (SDA) y Arduino_IO15 (SCL) - observar la figura
29 para los posicin de los jumpers. Para la funcin anloga se tiene: Analog_IN4 (ADA)
y Analog_IN5 (AD5)- observar la figura 30 para la posicin correcta de los jumpers.

NOTA: No hay componentes pre-soldados en el Analog_IN6 y Analog_IN7. Por lo


tanto, si se desea utilizar estas dos entradas, necesitaran soldar los componentes
tales como cabeceras hembra (conexin de extremo hembra) antes de que pueda
ser conectado para la aplicacin correspondiente.

NOTA: Se debe instalar cuidadosamente Arduino Shield despus de haber


instalado las piezas en Analog_IN6 y Analog_IN7 con el fin de evitar el
desplazamiento al insertar la tarjeta de blindaje (Shield Board).

Recomendacin; observar cuidadosamente la ubicacin de los puertos analog_IN(0-7),


adems de las caractersticas de los puertos de doble funcin (Analog_IN4 y Analog_IN5-
Arduino_IO14 y Arduino_IO15) .

Basarse conjuntamente en las figura 27, 28 y 29 para la ubicacin de estos dos


interruptores de doble funcin y con la tablas 19 y 20 utilizar la posicin correcta de los
interruptores para desarrollar la funcin deseada de cada puerto.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


55
Tabla 19. Posicin de los Jumpers JP15 y JP16 para funcin Digital.

Nota: visualizar la posicin de los jumpers, para funcin digital JP15 debe estar en la
posicin 3-2 para que el puerto trabaje como Arduino_IO14 y JP16 debe estar
igualmente en la posicin 3-2 para trabajar como Arduino_IO15.

Tabla 20. Posicin de los Jumpers JP15 y JP16 para funcin Anloga.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


56
La posicin de JP15 y JP16 debe ser 1-2 para que los puertos trabajen como Analog_IN4
y Analog_IN5.

A continuacin observar la tabla 21, que contiene la informacin concerniente a la


asignacin de pines de la interfaz SPI del ADC, nombre de seales, descripcin y dems.

Tabla 21. Asignacin de pines para la Interfaz SPI del ADC.

2.2.4. Sistema constructor (System Builder)


Este captulo describe cmo los usuarios pueden crear un proyecto de diseo
personalizado en la tarjeta utilizando la herramienta Software de Cyclone V GX Kit
C5G sistema generador.

Introduccin

El C5G sistema Builder es una utilidad de software para Windows, diseada para ayudar
a los usuarios a crear un proyecto de Quartus II. Los archivos de proyecto Quartus II
generados incluyen:

Proyecto de Quartus II archivo (.qpf).


Archivo de configuracin de Quartus II (.qsf).
Archivo de diseo de alto nivel (.v).
Archivo de restricciones de diseo Sinopsis (.sdc).
Documento de asignacin de pines (.htm).

Proporcionando los archivos anteriores, el constructor de sistema C5G previene la


ocurrencia de situaciones que son propensos a errores cuando los usuarios editan
manualmente el archivo de diseo de alto nivel o colocar asignaciones de pines. Los
errores ms comunes de los usuarios son los siguientes:

1. Dao de la tarjeta debido a asignaciones de voltaje pin o banco malo.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


57
2. Mal funcionamiento de la tarjeta causado por conexiones de dispositivo
incorrecto o falta de pines conectados.
3. Degradacin del rendimiento debido a las asignaciones de pin incorrecto.

2.2.4.1. Flujo de diseo general

Esta seccin introducir el flujo de diseo general para construir un proyecto de la


tarjeta de desarrollo mediante el constructor de sistema C5G. El flujo de diseo general
es ilustrado en la figura 33.

Los usuarios deben iniciar el sistema constructor C5G y crear un nuevo proyecto de
acuerdo a sus necesidades de diseo. Cuando los usuarios completan la configuracin, el
constructor de sistema C5G generar dos archivos principales, un archivo de diseo de
alto nivel (.v) y un Quartus II configuracin archivo (.qsf).

El archivo de diseo de alto nivel contiene envoltura de Verilog HDL alto nivel, a los
usuarios se les permite agregar su propio diseo/lgica. El archivo de configuracin de
Quartus II contiene informacin como tipo de dispositivo FPGA, asignacin de pin de
alto nivel y la entrada-salida estndar para cada pin I/O definida por el usuario.

Finalmente, el programador de Quartus II debe utilizarse para descargar archivo SOF


usando la interfaz JTAG.

Figura 33. El flujo de diseo general.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


58
2.2.4.2. Mediante C5G sistema generador

Esta seccin proporciona procedimientos detallados sobre cmo se utilizar el


constructor de sistema C5G.

Instalar y poner en marcha el generador de sistema C5G

El constructor de sistema C5G est situado en el directorio: "Tools\System Builder" en el


CD del sistema Cyclone V GX. Los usuarios pueden copiar toda la carpeta en un
ordenador sin necesidad de instalar la utilidad. Se inicia el constructor de sistema C5G
ejecutando el C5G_SystemBuilder.exe en el equipo y aparecer la ventana GUI como se
muestra figura 34.

Figura 34. La ventana SoC Kit sistema generador.

Nombre del proyecto entrada

Nombre del proyecto entrada como se muestra en la figura 35.

Nombre del proyecto: Escriba un nombre apropiado aqu, automticamente se asignar


como el nombre de su entidad de nivel superior diseo.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


59
Figura 35. Tipo de placa y nombre del proyecto.

Configuracin del sistema

Bajo la configuracin del sistema al usuario se le permite la eleccin de los componentes


incluidos en la tarjeta como se muestra figura 36. Cada componente de la tarjeta aparece
donde los usuarios pueden activar o desactivar un componente segn su diseo
simplemente marcando un cheque o retirar el cheque en el campo correspondiente. Si el
componente est habilitado, el constructor de sistema C5G generar automticamente
las asignaciones de pines asociados incluyendo el nombre de pin, ubicacin de las
clavijas, perno direccin y I/O estndar.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


60
Figura 36. Grupo de configuracin del sistema.

GPIO expansin

Los usuarios pueden conectar tarjetas secundarias GPIO en el conector GPIO ubicado en
la placa de desarrollo. Como se muestra en la Figura 36, seleccione la tarjeta secundaria
que desea aadir a su diseo bajo el conector HSMC apropiada a la que est conectada la
tarjeta secundaria. El constructor del sistema genera automticamente la asignacin del
pin asociado incluyendo nombre del pin, pin de las clavijas, pin direccin y I/O estndar.

Nota, la cabecera GPIO acciones bus con 7 segmentos HEX3 y HEX2. As que, cuando se
utiliza la cabecera GPIO, los 7 segmentos solamente HEX0 y HEX1 estn disponibles
como se muestra en "7 segmentos x 2" en la figura 37. Tambin, fsicamente, los usuarios
necesitan configuracin S1 y S2 Interruptor pequeo que se encuentra en el hardware y
permite definir su configuracin en posicin OFF como se muestra en la figura 37. La S1
y S2 se encuentran en la parte posterior de la tarjeta cyclone V GX.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


61
Figura 37. Tablero de arranque de GPIO expansin.

El "Prefijo de nombre" es una caracterstica opcional que indica el nombre de pin de la


tarjeta secundaria asignada en su diseo. Los usuarios pueden dejar este campo vaco.

Expansin de Arduino

Los usuarios pueden conectar tarjetas secundarias de Arduino en el conector de Arduino


en la tarjeta de desarrollo. Como se muestra en la figura 38, seleccione "Arduino Digital"
y marque el elemento "ADC". El constructor del sistema genera automticamente la
asignacin del pin asociado incluyendo nombre del pin, ubicacin de las clavijas, pin
direccin y I/O estndar.

Nota, la cabecera de Arduino no comparte pin con 7 segmentos HEX3 y posicin HEX2,
por lo que los usuarios no necesitan configurar S1/S2 en la posicin OFF.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


62
Figura 38. Expansin de Arduino

Expansin de HSMC

Los usuarios pueden conectar las tarjetas secundarias HSMC en el conector HSMC
ubicado en la tarjeta de desarrollo. Como se muestra en la figura 39, seleccione la tarjeta
secundaria que desee agregar a su diseo en el conector apropiado de HSMC al que est
conectada la tarjeta de secundaria. El constructor del sistema genera automticamente
la asignacin del pin asociado incluyendo nombre del pin, ubicacin de las clavijas, pin
direccin y I/O estndar.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


63
Figura 39. Expansin de HSMC

El "Prefijo de nombre" es una caracterstica opcional que indica el nombre de pin de la


tarjeta secundaria asignado en su diseo. Los usuarios pueden dejar este campo vaco.

Proyecto de gestin de configuracin

El constructor de sistema C5G tambin proporciona funciones para restaurar por


defecto, carga un entorno y guardar el archivo de configuracin de la tarjeta de usuarios
que se muestra en la figura 40. Los usuarios pueden guardar la informacin actual de
configuracin de la placa en un archivo .cfg y cargar en el constructor de sistema C5G.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


64
Figura 40. Configuraciones del proyecto.

Generacin de proyectos

Cuando los usuarios presionan el botn generar, el constructor de sistema C5G generar
los correspondientes archivos de Quartus II y los documentos que se enumeran en la
tabla 4-1:

Tabla 4-1 Los archivos generados por sistema generador C5G.

N Nombre de archivo Descripcin


1 <Nombre de proyecto>.v Nivel superior archivo Verilog HDL para Quartus II
2 <Nombre de proyecto>.qpf Archivo de Proyecto Quartus II
3 <Nombre de proyecto>.qsf Configuracin del archivo Quartus II
4 <Nombre de proyecto>.sdc Archivo de restricciones de diseo Sinopsis de
Quartus II
5 <Nombre de proyecto>.htm Documento de asignacin de PIN

Los usuarios pueden utilizar el software Quartus II para agregar lgica personalizada en
el proyecto y compilar el proyecto para generar el archivo de objeto de SRAM (.sof).

Introduccin a Quartus II Diseo VHL con Cyclone V GX


65
2.2.5. Cdigos de Ejemplo Basado RTL

En la presente seccin se provee un nmero de Cdigos de Ejemplos Basado RTL


diseados para la Tarjeta de inicio (Starter Board). Todos estos archivos suelen ser
recopilados en un archivo mayor contenido en el CD del sistema (incluido en el paquete
de la FPGA).

2.2.5.1. Configuracin de Fabrica

La tarjeta C5G se expide de la fbrica con un flujo de bits de configuracin por defecto
que muestran algunas de las caractersticas bsicas de la tarjeta. Siempre se debe tener
presente la ubicacin de los archivos para las demostraciones y la configuracin
requerida para realizarlas.

Localizacin de los archivos de demostracin

*Project_directory: C5G_default
*Bit strem used (Flujo de bits): C5G_default.sof

Demostraciones e instrucciones de instalacin

*Alimentacin en la Tarjeta C5G.


*Se debe observar que los LEDs y los despliegues 7-segs parpadean.
*Presionar CPU_REET_n para hacer que los LEDs y los 7-segs entren en modo all
light on- (todas las luces encendidas).
*Opcionalmente conectar una pantalla por la conexin HDMI y debe mostrar una
imagen a color.
*Opcionalmente conectar un altavoz a la salida de audio estreo y pulsar el botn
KEY1, se debe escuchar un zumbido de 1KHz en la salida.
*Generalmente se proporciona un cdigo fuente Verilog VHD en el archivo de
demostraciones para ejemplificar los usos de templates (plantillas) y los puertos
accesibles por pines de la FPGA.

Restaurar la configuracin de fbrica

*Asegurar la alimentacin de la tarjeta C5G


*Conectar el cable USB al puerto USB Blaster
*Configurar al modo JTAG de programacin, con el interruptor en PROG
*Ejecutar el archivo de demostracin pof_C5G_Default.bat.
*Un vez acabada la programacin, posicionar el interruptor en RUN, restablecer
la tarjeta con el interruptor de alimentacin y volver a encenderla; esto causa que

Introduccin a Quartus II Diseo VHL con Cyclone V GX


66
los nuevos datos de configuracin en el dispositivo EPCQ256 sean cargados en la
FPGA.

2.2.5.2. Prueba LPDDR2 SDRAM TRL

Esta demostracin presenta una funcin de prueba de la memoria en el banco de la


LPDDR2 SDRAM en la tarjeta.

Diagrama de Bloques de Funcin

La figura muestra el diagrama de bloques de funcin para esta demostracin. El


controlador utiliza 50MHz como reloj de referencia, genera un reloj de 330MHz como
reloj de la memoria, y genera un reloj de sistema de completa velocidad (full-rate) de
330 MHz el propio controlador.

Los mdulos RW_test leen y escriben todo el espacio de memoria de la LPDDR2 a travs
de la interfaz Avalon del controlador. En este proyecto, Avalon

2.2.6. Cdigos de ejemplo basado NIOS II

En este captulo se ofrece una serie de NIOS II cdigos bases ejemplo diseados para la
tabla de inicio. Estos ejemplos proporcionan demostraciones de las caractersticas
principales que conectan a la interfaz de FPGAS, tales como audio, video, UART a USB,
tarjeta SD, SRAM y HDMI. Todos los archivos asociados se pueden encontrar en la
carpeta de demostraciones en el CD del sistema.

2.2.6.1. SRAM
Esta demostracin presenta una funcin de prueba de memoria de SRAM en la tarjeta
C5G. El tamao de la memoria del SRAM es de 512KB.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


67
Diagrama de bloques del sistema

La Figura 6-1 muestra el diagrama de bloques del sistema de esta demostracin. El


sistema requiere un reloj de 100MHz de la tarjeta. En Qsys, Nios II y la memoria On-Chip
estn diseados con el reloj de 100MHz, y el programa Nios II se ejecuta en la memoria
del chip.

figura 6-1. Diagrama de bloques de la demostracin bsica de SRAM

El flujo del sistema es controlado por un programa de Nios II. En primer lugar, el
programa Nios II escribe patrones de prueba en el conjunto de 512KB de SRAM. A
continuacin, llama a Nios II sistema funcin, alt_dcache_flush_all, para asegurarse de
que todos los datos se han escrito en SRAM. Por ltimo, lee datos de SRAM para
verificacin de datos. El programa mostrar avances en JTAG-Terminal lectura/escritura
de datos hacia/desde el SRAM. Cuando haya completado el proceso de verificacin, el
resultado se muestra en la Terminal de JTAG.

Herramientas de diseo
Quartus II 15.0
Nios II
Demostracin Cdigo fuente
Directorio del proyecto Quartus: C5G_SRAM
Nios II: C5G_SRAM\Software
Proyecto de Compilacin Nios II

Introduccin a Quartus II Diseo VHL con Cyclone V GX


68
Antes de intentar compilar el diseo de referencia bajo Nios II, asegrese
de que el proyecto este limpio haciendo clic en 'Limpiar' en el men
'Proyecto' de Nios II.
Demostracin de Archivo por lotes
Carpeta de archivo de lote de demo:
C5G_SRAM\demo_batch

La demostracin de archivo por lotes incluye los siguientes archivos:

Archivo por lotes para USB-Blaster: C5G_SRAM.bat, C5G_SRAM.sh


Archivo de configuracin de FPGA: C5G_SRAM.sof
Programa Nios II: C5G_SRAM.elf

Configuracin de demostracin
Asegrese de Quartus II y Nios II estn instalados en tu PC.
Encienda la tarjeta C5G.

Utilice el cable USB para conectar el PC y la tarjeta C5G (J10) e instalar a controlador
USB Blaster si es necesario.

Ejecutar el archivo demo "C5G_SRAM.bat" para USB-Blaster bajo la carpeta de


archivos por lotes, C5G_SRAM \demo_batch.
Despus de que el programa Nios II es descargado y ejecutado con xito,
aparecer un mensaje en terminal de nios II.
Introduzca un nmero digital para elegir la cantidad de veces que desea probar
para SRAM.
El programa mostrar informacin ingresada y el resultado, como se muestra en
la figura 6-2.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


69
Figura 6.2.

2.2.6.2 UART para control USB LED

Muchas aplicaciones necesitan comunicacin con la computadora a travs de puertos


comunes, el tradicional conector RS232 necesita conectarse a un cable RS232. Pero hoy
en da muchos ordenadores personales no tienen el conector RS232 es muy
inconveniente para el desarrollo de proyectos. La tarjeta C5G est diseada para apoyar
la comunicacin UART a travs de cable USB. El UART para circuito USB es responsable
de convertir el formato de datos. Los desarrolladores pueden utilizar una cable USB en
lugar de un cable RS232 para permitir la comunicacin entre la FPGA y el equipo host.
En esta demostracin ver cmo controlar los LEDs mediante el envo de un comando en
la terminal de ordenador masilla. El comando es enviado y recibido a travs de un cable
USB a la FPGA. Tenga en cuenta que en la FPGA, la informacin fue recibida y enviada a
travs de una IP UART.

La figura 6-3 muestra el diagrama de bloques de hardware de esta demostracin. El


sistema requiere un reloj de 50 MHz proporcionada de la tarjeta. El PLL genera un reloj
de 100MHz para el procesador Nios II y la IP del controlador. Los LEDs son controlados

Introduccin a Quartus II Diseo VHL con Cyclone V GX


70
por el IP PIO. El UART enva y recibe datos de comando y el comando se enva a travs
de la terminal masilla en el equipo.

Figura 6-3 Diagrama de bloques de demostracin UART Control de LED.

Herramientas de diseo
Quartus II 15.0
Nios II
Demostracin cdigo fuente
Directorio del proyecto Quartus: C5G_UART
Nios II: C5G_UART_USB_LED\Software
Proyecto de Compilacin Nios II
Antes de intentar compilar el diseo de referencia bajo Nios II, asegrese
de que el proyecto este limpio haciendo clic en 'Limpiar' en el men
'Proyecto' de Nios II.
Demostracin de archivo por lotes
Carpeta de archivo de lote de demo:
C5G_UART_USB_LED\demo_batch

La demostracin de archivo por lotes incluye los siguientes archivos:

Archivo por lotes para USB-Blaster: C5G_UART_USB_LED.bat,


C5G_UART_USB_LED.sh
Archivo de configuracin de FPGA: C5G_UART_USB_LED.sof

Introduccin a Quartus II Diseo VHL con Cyclone V GX


71
Programa Nios II: C5G_UART_USB_LED.elf

Configuracin de demostracin
Conecte un cable USB entre su computadora y el conector USB (J11) de la
C5G.
Poder en la C5G, si encuentras un puerto Serial USB desconocido en
Administrador de dispositivos como se muestra en la figura 6-4. antes de
ejecutar la demostracin, debe instalar el UART a USB driver.

Figura 6-4 no se reconoce USB Serial Port en PC.

Para instalar driver UART_TO_USB en su computadora por favor, seleccione


puerto serial USB para actualizar el software del controlador. El archivo del
controlador puede descargarse desde el siguiente sitio web:
http://www.ftdichip.com/Drivers/VCP.htm.
Abrir el administrador de dispositivos para asegurarse de que el puerto comn se
asigna al UART puerto USB como se muestra en la figura 6-5. El nmero comn 9
(COM9) se asigna en este equipo.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


72
Figura 6-5 Compruebe el nmero de puerto COM asignado en la PC.

Abra el software putty, en el parmetro de tipo como se muestra en la figura 6-6 y


haga clic en el botn abrir para abrir el terminal.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


73
Figura 6-6 configuracin terminal putty.

Asegrese de Quartus II y Nios II estn instalados en tu PC


Conectar USB Blaster a la C5G (J10) e instalar a controlador USB Blaster si es
necesario.
Ejecutar el archivo demo "C5G_UART_USB_LED.bat" en la carpeta de archivo
por lotes C5G_UART_USB_LED\demo_batch.
el resultado se ejecuta Nios II-terminal y en el terminal de putty.

En la terminal de masilla tipo carcter para cambiar el estado del LED. Escriba un
nmero digital para alternar el estado LEDR [9..0] y escriba a/A o ON/OFF para activar o
desactivar todos LEDR.

2.2.6.3. HDMI-TX

Esta seccin presenta un diseo de referencia para la programacin del codificador de


ADV7513 HDMI. La referencia completa se compone de dos partes: el programa de
control de software y el diseo de hardware. Un conjunto de patrones de video
previamente construidos ser enviado a travs de la interfaz HDMI y en el monitor LCD
como el usuario inicia los binarios ejecutables proporcionados. El diseo incorpora

Introduccin a Quartus II Diseo VHL con Cyclone V GX


74
algunas actividades que podra realizar el usuario para interactuar con el codificador
HDMI-TX.

Diagrama de bloques del sistema

La figura 6-8 muestra el diagrama de bloques del sistema de este diseo de referencia. El
"patrn generador de Video " mdulo que hace frente a la generacin de patrones de
vdeo que se presentar en la pantalla LCD monitor. El patrn se compone en el camino
de 24-bit RGB 4: 4: 4 (RGB888 por pxel de color sin submuestreo) codificacin de color,
que se corresponde con el formato de codificacin paralela definida en la Tabla 1.6 de la
Gua del hardware del usuario "ADV7513, "Como se muestra a continuacin.

Tabla 6-1 Construir-en Modos de pantalla de la demostracin HDMI TX.

Datos de pxel [23:0]


17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R[7:0] G[7:0] B[7:0]

Se implementan un conjunto de modos de visualizacin para la presentacin de los


patrones de vdeo generados. El mdulo "selector de fuente de vdeo" controla la
seleccin de sincronizacin de vdeo actual entre los modos de visualizacin
enumerados en la Tabla 6-2. El mdulo "Control Mode" permite a los usuarios cambiar el
modo de visualizacin actual a travs la TECLA1

Tabla 6-2 Modos de pantalla de la demostracin HDMI TX

Identificacin de patrn Formato de Video PCLK (MHZ)


0 640x480@60P 25
1 720x480@60P 27
2 1024x768@60P 65
3 1280x1024@60P 108
4 1920x1080@60P 148.5
5 1600x1200@60P 162

En el mdulo de la VPG, Altera IP "PLL Reconfig" se utiliza para programar la frecuencia


de pxel de modo correspondiente a los datos .La RECONFIG "PLL" Altera IP para cada
frecuencia de reloj se originaron desde el "controlador PLL". La fuente del mdulo VPG
est situada en la carpeta "C5G_HDMI_VPG\vpg_source".

Introduccin a Quartus II Diseo VHL con Cyclone V GX


75
Figura 6-8 bloque de diagrama de la demostracin de HDMI TX.

Herramientas de diseo
Quartus II 15.0
Nios II
Demostracin de Cdigo fuente
Directorio del proyecto Quartus: C5G_HDMI_VPG
Nios II: C5G_HDMI_VPG\Software

Reconstruir el proyecto Quartus II

Inicie el programa herramienta de diseo Nios II . Cuando el programa pide el


lugar de trabajo, introduzca su ruta local completa de la carpeta
"C5G_HDMI_VPG\Software" en el cuadro de edicin.
Los usuarios pueden seguir los mtodos enumerados a continuacin para
reconstruir una copia local del programa Nios II:

Introduccin a Quartus II Diseo VHL con Cyclone V GX


76
Haga clic derecho en el proyecto HDMI_DEMO_bsp en el Proyecto
Explorar. Seleccione "Nios II" -> "Generar BSP."
Haga clic derecho en el proyecto HDMI_DEMO_bsp en el Proyecto
Explorar. Seleccione "Proyecto limpieza".
Haga clic derecho en el proyecto HDMI_DEMO_bsp en el Proyecto
Explorar. Seleccione "Crear Proyecto".
Haga clic derecho en el proyecto HDMI_DEMO en el Proyecto Explorar.
Seleccione "Proyecto limpieza".
Haga clic derecho en el proyecto HDMI_DEMO en el Proyecto Explorar.
Seleccione "Crear Proyecto".
El binario recin construido se encuentra en la carpeta
"C5G_HDMI_VPG\Software\HDMI_DEMO" y nombrado como
"HDMI_DEMO.elf". Puede copiar y sobrescribir el mismo binario en el
"demo_batch". Por favor, consulte la seccin "Inicio de la demostracin"
de cmo poner en marcha y ejecutar el demo.

Inicio demostracin:

Los binarios pres construidos se encuentran en la carpeta


"C5G_HDMI_VPG\demo_batch", acompaada de un conjunto de herramientas en forma
de archivo de lnea de comandos por lotes. Para hacer una guia, los usuarios podran
seguir los criterios enumerados a continuacin para configurar la tarjeta de desarrollo y
ejecutar el programa de demostracin.

Conecte la tarjeta de desarrollo a tu PC con el conector JTAG mediante el cable


USB incluido.
Conecte la tarjeta de desarrollo para el monitor LCD con conector HDMI a
mediante un cable HDMI.
Encienda la tarjeta de desarrollo.
Utilice el Administrador de archivos para localizar la carpeta "C5G_HDMI_VPG \
demo_batch". Iniciar el proceso de descarga de la configuracin y el programa
haciendo doble clic archivo "test.bat". Esto configurar la FPGA, descargue la
aplicacin de demostracin a la tarjeta y empeze su ejecucin. Un terminal de
consola se mantendr en la pantalla y el usuario puede interactuar con la aplicacin
de demostracin a travs de la caja de la consola.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


77
Espere unos segundos para que el monitor LCD encienda, Y usted debera ver
un patrn de vdeo previamente definido que se muestra en el monitor, como
se muestra en la figura 6-10.

Figura 6-10 El patrn de vdeo utilizado en la demostracin HDMI TX.

Funcionamiento de demostracin

La demostracin consiste en ciertas actividades que el usuario podra realizar para


interactuar con el codificador HDMI.

Auto deteccin de conexin caliente

La demostracin implementa una conexin de deteccin de interrupcin impulsado que


se encender automticamente el chip codificador, cuando el cable HDMI est conectado
a la placa de desarrollo y el monitor LCD est conectado y encendido en el otro lado del
cable.

Si el cable HDMI ya est vinculado en el conector HDMI antes de encender la placa de


desarrollo, la seal de monitor de sentido disparar una interrupcin para encender el
codificador HDMI.

Cuando el codificador HDMI est encendido, un patrn de muestra de vdeo se mostrar


en la pantalla LCD. Si el cable se desconecta, el codificador HDMI se apagar
automticamente para reducir el consumo de energa.
Introduccin a Quartus II Diseo VHL con Cyclone V GX
78
Si el monitor LCD no se enciende automticamente cuando se realizan las actividades
descritas anteriormente en esta demostracin, los usuarios pueden tratar de apagar
completamente la pantalla LCD y luego volver a encender. Sucesivamente, el usuario
puede tratar de desconectar y luego volver a conectar el cable HDMI y esperar un tiempo
razonable a que el monitor LCD complete su proceso de inicializacin y empezar a
sincronizar con el codificador HDMI.

Video patrn de conmutacin

Al pulsar la TECLA1 el pulsador puede cambiar el modo de visualizacin actual


sucesivamente entre los formatos integrados que figuran en la Tabla 6-2. El patrn que
se muestra ser similar al que se muestra en la Figura 6-10.

Interfaz de comandos de lnea

Se proporciona una pequea interfaz de comandos de lnea para interactuar con el


codificador HDMI. A continuacin se presenta una lista de los comandos disponibles
para el usuario. Tenga en cuenta que los comandos son en maysculas y minsculas. Los
usuarios podran escribir "h" para las ltimas actualizaciones de mando que no se
incluyen en este manual.

Tabla 6-3.Lista de comandos disponibles.

comandos descripcin
E Descarga los primeros datos para 256 bytes y el EDID del
monitor LCD conectado actualmente.
e p Descarga los primeros datos para 256 bytes y el EDID del
monitor LCD conectado actualmente. Adems, imprime el
resultado decodificado en un formato legible.
D Realiza una copia completa del conjunto de registro codificado
HDMI.
O Apague el codificador HDMI.
I Encienda el codificador HDMI e inicializar en el modo HDMI.
V Encienda el codificador HDMI e inicializar en modo DVI.
M Detecta VIC (Vdeo Cdigo Identificacin) y la descripcin del
modo. Tenga en cuenta que los formatos de entrada non-CEA-
861-D no pueden informar de una manera totalmente correcta.
r addr Lea el valor de registro del codificador HDMI en direccin addr,
donde addr es un nmero hexadecimal de dos dgitos.
w addr data Escribe el valor del registro, dado por los datos, al codificador
HDMI en la direccin addr, donde addr y datos son ambos
nmeros hexadecimales de 2 dgitos. Tenga en cuenta que el
valor addr debe dar exactamente en formato de 2 dgitos, como
02, 1b, 0c, f7. Dado que menos de 2 dgitos causan una falsa

Introduccin a Quartus II Diseo VHL con Cyclone V GX


79
interpretacin del valor en el siguiente campo de datos.

2.2.6.4 Prueba de bucle Transceptor HSMC

La demostracin de bucle invertido XCVR HSMC es un proyecto para probar la funcin


XCVR HSMC. El sistema genera el patrn y el transporte de datos a travs del canal
XCVR. Significa que mientras que el sistema recibe los datos a travs de la tarjeta
secundaria de bucle invertido y lo comprueba. Altera IP generador de patrones de datos
y el patrn de datos corrector son los responsables de generar y comprobar el patrn de
datos. Siendo la CPU Nios II la que comprueba el resultado de la prueba, el cual se
muestra a travs de LEDG0 ~ LEDG3 y tambin se muestran en la terminal de Nios II. Si
la funcin de prueba de bucle invertido no funciona, el programa terminar y se
apagarn todos los LEDs.

Herramientas de Diseo
Quartus II 15.0
Nios II
Demonstracin Cdigo Fuente

Directorio de Quartus Proyecto: C5G_HSMC_XCVR_LOOPBACK_TEST


Nios II: C5G_HSMC_XCVR_LOOPBACK_TEST \ Software

Nios II Compilacin de proyectos

Antes de intentar compilar el diseo de referencia bajo Nios II, asegrese de que el
proyecto est limpio haciendo clic en 'Clean' del men 'Proyecto' de Nios II de Eclipse.

Demostracin de Archivo por lotes


Demo de la carpeta de archivos por lotes:

C5G_HSMC_XCVR_LOOPBACK_TEST \ demo_batch

El archivo por lotes demo incluye lo siguiente:

Archivo por lotes para USB-Blaster: C5G_HSMC_XCVR_LOOPBACK_TEST.bat,


C5G_HSMC_XCVR_LOOPBACK_TEST.sh

FPGA Configurar archivo: C5G_HSMC_XCVR_LOOPBACK_TEST.sof

Programa II Nios: C5G_HSMC_XCVR_LOOPBACK_TEST.elf

Introduccin a Quartus II Diseo VHL con Cyclone V GX


80
Demostracion de Configuracin
Asegrese de Quartus II y Nios II estn instalados en su PC.
Conectar USB Blaster a la tarjeta C5G e instalar el controlador USB Blaster
si es necesario.
Instale la tarjeta secundaria de bucle invertido HSMC que se encuentra en
la tarjeta C5G.
Encienda la tarjeta C5G.
Ejecutar el archivo por lotes de demostracin
"C5G_HSMC_XCVR_LOOPBACK_TEST.bat" para USB-Blaster II bajo la
carpeta de archivos por lotes, C5G_HSMC_XCVR_LOOPBACK_TEST \
demo_batch.

Despus de que el programa Nios II es descargado y ejecutado con xito, un mensaje de


solicitud se mostrar en la terminal Nios II y el programa pondr a prueba la funcin de
bucle invertido XCVR HSMC.

LEDG [3: 0] se encender si pasa la prueba de bucle invertido XCVR HSMC y la terminal
de Nios II muestra el resultado de la prueba cada 5 segundos como se muestra en la
Figura 6-12.

Pulse KEY0 ~ key4 para terminar la prueba.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


81
Figura 6-12 Ejecucin de resultado de prueba de bucle XCVR HSMC

2.2.6.5. Grabacin y reproduccin de Audio

Esta demostracin muestra cmo implementar un grabador y reproductor de audio


utilizando la tarjeta C5G con el chip de audio CODEC incorporado. Esta demostracin se
desarroll en base a Qsys y Eclipse. (La Figure 6-13 muestra la interfaz hombre-mquina
de esta demostracin).

Dos pulsadores y cinco interruptores deslizantes se utilizan para configurar este sistema
de audio: SW0 se utiliza para especificar la fuente de grabacin sea Line-in o MIC-In.
SW1 se utiliza para activar / desactivar MIC, cuando la fuente de grabacin es MIC-In.

SW2, SW3, SW4 y se utilizan para especificar la frecuencia de muestreo de grabacin


como 96K, 48K, 44.1K, 32K, o 8K.

El 7-SEG se utiliza para mostrar Grabacin / Reproduccin de duracin con la unidad de


tiempo en 1/100 segundos.

El LED se utiliza para indicar la intensidad de la seal de audio. Figura 6-13 resume el
uso de interruptores deslizantes para configurar la grabadora y reproductor de audio.

Figura 6-13 interfaz hombre-maquina de grabador y reproductor de Audio.

La figura 6-14 muestra el diagrama de bloques del grabador y el diseo del reproductor
de audio. Hay partes de hardware y software en el diagrama de bloques. La parte
software almacena el programa Nios II en la memoria del chip. La parte de software es
construido por Eclipse escrito en el lenguaje de programacin C. La parte de hardware

Introduccin a Quartus II Diseo VHL con Cyclone V GX


82
es construido por Qsys bajo Quartus II. La parte hardware incluye todos los otros
bloques.

El "controlador de audio" es un componente Qsys definido por el usuario. Est diseado


para enviar datos de audio al chip de audio o recibir datos de audio desde el chip de
audio.

El chip de audio se programa a travs del protocolo I2C que se implementa en el cdigo
C. Los pines I2C de chip de audio estn conectados al Sistema de Interconexin Qsys a
travs de los controladores de PIO. En este ejemplo, el chip de audio est configurado en
el modo maestro. La interfaz de audio se configura como el modo de 16 bits I2 arena.
18.432MHz reloj generada por el PLL est conectado a la MCLK / XTI pin del chip de
audio a travs del controlador de audio.

Figura 6-14 Diagrama de bloques del grabador y reproductor de audio.

Muestra las ubicaciones de los archivos

Directorio del Proyecto Hardware: C5G_Audio

Flujo de bits utilizado: C5G_Audio.sof

Directorio de Proyectos de Software: C5G_Audio \ software

Configuracin de demostracin e instrucciones

Conecte una fuente de audio al puerto LINE-IN de la tarjeta C5G.


Conecte un micrfono al puerto MIC-IN en la tarjeta C5G.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


83
Conecte un altavoz o auricular al puerto LINE-OUT en la tarjeta C5G.
Cargue el flujo de bits en FPGA. (nota * 1)
Cargue el archivo de ejecucin de software en FPGA. (nota * 1)
Configurar audio con los interruptores deslizantes como se muestra en la Tabla
6-4.
Pulse KEY3 en el tablero C5G para iniciar / detener la grabacin de audio (nota *
2).
Pulse TECLA2 en el tablero C5G para iniciar / detener la reproduccin de audio (*
nota 3).

Tabla 6-4 diapositivas de uso de fuente de audio

conmutadores deslizantes 0 Posicin abajo 1 Posicin arriba


SW0 Audio de MIC Audio de LINE-IN
SW1 Desactivar Boost MIC Habilitar el MIC Boost

Tabla 6-5 Diapositiva de ajuste del interruptor de conmutacin de frecuencia de


muestreo para la grabadora y reproductor de audio.

SW4 SW3 SW3 Frecuencia de


(0 abajo; (0 abajo; (0 abajo; muestreo
1-arriba) 1-arriba) 1-arriba)
0 0 0 96K
0 0 1 48K
0 1 0 44.1K
0 1 1 32K
1 0 0 8K
combinacin no cotizada 96K

Nota:

(1) Ejecutar C5G_Audio \ demo_batch \ C5G_Audio.bat descargar .sof y archivos .elf.

(2) el proceso de grabacin se detendr si el bffer de audio est lleno.

(3) El proceso de reproduccin se detendr si los datos de audio se reproduce por


completo.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


84
2.2.6.6 leer sistema de archivos de la tarjeta Micro SD

Muchas aplicaciones utilizan un gran dispositivo de almacenamiento externo, como


una tarjeta SD o tarjeta CF para almacenar datos. La tarjeta C5G proporciona el
hardware y software necesario para acceder tarjeta Micro SD. En esta demostracin
vamos a mostrar cmo navegar por los archivos almacenados en el directorio raz de
una tarjeta SD y cmo leer el contenido del archivo de un archivo especfico. La
tarjeta Micro SD requiere tener de antemano un formato de sistema de archivos
FAT. Nombre de archivo largo se admite en esta demostracin.

La Figura 6-15 muestra el diagrama de bloques del sistema de hardware de esta


demostracin. El sistema requiere un reloj de 50MHz proporcionado por la tarjeta. El
PLL genera un reloj de 100MHz para el procesador Nios II y otros controladores.
Cuatro contactos PIO estn conectados a la toma de la tarjeta Micro SD. Modo 4-bit
SD se utiliza para acceder al hardware de la tarjeta Micro SD. El protocolo de 4-bit SD
y la funcin de sistema de archivos FAT se implementan por el software Nios II. El
software se almacena en la memoria del chip.

Figura 6-15 Diagrama de bloques de la Micro SD.

La figura 6-16 muestra la pila de software de esta demostracin. El bloque Nios PIO
proporciona funciones bsicas IO para acceder al hardware directamente. Las
funciones se proporcionan desde el sistema Nios II y el prototipo de funcin se

Introduccin a Quartus II Diseo VHL con Cyclone V GX


85
define en el archivo de cabecera <io.h>. El bloque de la tarjeta SD implementa el
protocolo de modo de 4 bits para la comunicacin con las tarjetas SD. El bloque de
sistema de archivos FAT implementa la funcin de lectura para FAT16 y FAT 32
sistema de archivos. Nombre de archivo largo es compatible. Al llamar a las
funciones pblicas FAT, los usuarios pueden navegar por los archivos en el directorio
raz de la tarjeta Micro SD. Adems, los usuarios pueden abrir un archivo especfico y
leer el contenido del archivo. El bloque principal implementa el control principal de
esta manifestacin. Cuando se ejecuta el programa, se detecta si se introduce una
tarjeta Micro SD. Si se encuentra una tarjeta Micro SD, comprobar si la tarjeta Micro
SD est formateada como sistema de archivos FAT. Si es as, se busca en todos los
archivos en el directorio raz del sistema de archivos FAT y muestra sus nombres en
el terminal de Nios II. Si se encuentra un archivo de texto llamado "test.txt", se
volcar el contenido del archivo. Si se reconoce con xito el sistema de archivos FAT,
se encender el LED verde. Por otro lado, se encender el LED rojo si no puede
analizar el sistema de archivos FAT o si no hay una tarjeta SD que se encuentra en el
zcalo para tarjetas SD de la tarjeta C5G. Si los usuarios pulsan KEY3 de la tarjeta
C5G, el programa llevar a cabo el proceso anterior de nuevo.

Figura 6-16 Software de demostracin micro SD.

Herramientas de Diseo

Quartus II 15.0
Nios II
Demostracin Cdigo Fuente

Introduccin a Quartus II Diseo VHL con Cyclone V GX


86
Directorio de Quartus Proyecto: C5G_SD_DEMO
Nios II: C5G_SD_DEMO \ Software

Nios II Compilacin de proyectos

Antes de intentar compilar el diseo de referencia bajo Nios II, asegrese de que
el proyecto est limpio haciendo clic en 'Clean' del men 'Proyecto' de Nios II.
Demostracin de archivos por lotes
Demo de la carpeta de archivos por lotes:

C5G_SD_DEMO \ demo_batch

El archivo por lotes demo incluye los siguientes:

Archivo por lotes para USB-Blaster:

C5G_SD_DEMO.bat,

C5G_SD_DEMO.sh

FPGA Configurar archivo: C5G_SD_DEMO.sof

Programa II Nios: C5G_SD_DEMO.elf

Demostracin de Configuracin
Asegrese de Quartus II y Nios II estn instalados en su PC.
Encienda la tarjeta C5G.
Conecte Blaster USB al C5Gboard e instale el controlador USB Blaster si es
necesario.
Ejecutar el archivo de demostracin por lotes "C5G_SD_DEMO.bat" para USB-
Blaster II bajo la carpeta de archivos por lotes, C5G_SD_DEMO \ demo_batch
Despus del programa Nios II es descargado y ejecutado con xito, un mensaje de
solicitud se mostrar en nios2-terminal.
Copia C5G_SD_DEMO \ demo_batch \ test.txtfiles al directorio raz de la tarjeta
SD.
Inserte la tarjeta Micro SD en la ranura para tarjetas SD de C5G, como se muestra
en la Figura 6-17.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


87
Figura 6-17 Insertar la tarjeta Micro SD en la tarjeta C5G.

Presione KEY3 de la junta C5G para iniciar la lectura de tarjetas SD.


El programa mostrar informacin de la tarjeta SD, como se muestra en la
Figura 6-18.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


88
Figura 6-18 Ejecucin de resultado de demostracin SD_CARD en la tarjeta C5G.

2.2.6.7. Demostracin de reproductor de msica de tarjeta SD

Muchos reproductores de audio de los medios de comunicacin comerciales utilizan un


dispositivo de almacenamiento externo, como una tarjeta SD o CF, para almacenar
archivos de msica o video. Estos ejecutables tambin pueden incluir dispositivos DAC
de alta calidad que puede producir buena calidad de audio. La tarjeta C5G proporciona el
hardware y el software necesario para la tarjeta Micro SD de acceso y rendimiento de
audio profesional por lo que es posible disear productos multimedia avanzados usando
la tarjeta C5G.

En esta demostracin se muestra cmo implementar una tarjeta SD Reproductor de


msica en la tarjeta C5G, en la que los archivos de msica se almacenan en una tarjeta
SD y la tarjeta C5G puede reproducir los archivos de msica a travs de sus circuitos
DAC de audio con calidad de CD. Utilizamos el procesador Nios II para leer los datos de
msica guardados en la tarjeta SD y utilice el dispositivo analgico de audio CODEC
SSM2603 para reproducir la msica.

La figura 6-19 muestra el diagrama de bloques de hardware de esta demostracin. El


sistema requiere un reloj de 50 MHz proporcionada la tarjeta. El PLL genera un reloj de
100MHz para el procesador Nios II y los otros controladores, excepto para el
controlador de audio.

El chip de audio es dirigido por el controlador que se haya definido por el usuario
componente SOPC Audio. Este controlador de audio necesita un reloj de entrada de
18.432 MHz. En este diseo, el reloj es proporcionado por el bloque de PLL.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


89
El controlador de audio requiere el chip de audio de trabajo en modo maestro, por lo
que la serie de bits (BCC) y el reloj de canal izquierdo / derecho (LRCK) se proporcionan
por el chip de audio. Dos pines de PIO estn conectados al bus I2C. El protocolo I2C se
implementa por software. Cuatro contactos PIO estn conectados a la toma de la tarjeta
SD.

Modo 4-bit SD se utiliza para acceder a la tarjeta SD y es implementado por software.


Todos los otros componentes SOPC en el diagrama de bloques son constructores SOPC
componentes incorporados. Los pasadores de PIO tambin estn conectados a las llaves,
LEDs y conmutadores.

Figura 6-19 Diagrama de bloques de reproductor de msica de Micro SD.

La Figura 6-20 muestra la pila de software de esta demostracin. Bloque de modo de 4-


Bit SD implementa el protocolo de modo SD 4 bits para la lectura de datos desde la
tarjeta SD. El bloque de graso implementa sistema de archivos FAT16/FAT32 para
lectura de archivos almacenados en la tarjeta SD. En este bloque, implementa slo la
funcin solo lectura. El bloque de onda Lib implementa la funcin descifrar la extraccin
de datos de audio desde archivos de archivo de onda. El bloque de I2C implementa
protocolo I2C para configurar el chip de audio. El bloque de Audio implementa la funcin
de comprobacin de audio FIFO y la funcin de envo y recepcin de seal de audio. El

Introduccin a Quartus II Diseo VHL con Cyclone V GX


90
bloque key y switch acta como una interfaz de control del sistema de reproductor de
msica.

Figura 6-20 Pila de software del reproductor de msica tarjeta Micro SD.

El chip de audio debe estar configurado antes de enviar seal de audio. El programa
principal utiliza protocolo I2C para configurar el chip de audio en modo maestro; con
una salida de audio de interfaz I2S 16bits por canal y con una frecuencia de muestreo de
acuerdo con el contenido del archivo. En la reproduccin de audio en bucle, el programa
principal lee 512 bytes de datos de audio de la tarjeta SD, y, a continuacin, escribe los
datos en el controlador de audio CAD FIFO. Antes de escribir los datos en el FIFO, el
programa verificar si el FIFO est lleno. El diseo tambin mezcla la seal de audio del
micrfono y lnea de estilo Karaoke mediante la habilitacin de las funciones BYPASS
and SITETONE en el chip de audio.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


91
Mientras que la demostracin est en marcha, los usuarios pueden obtener la
informacin de estado a travs del terminal Nios II. Se puede accionar el modo de
repeticin mediante la activacin de la Switch 0, ajustar el volumen presionando key1 o
key2 y tambin se puede elegir la cancin pulsando KEY0 o key3.

Herramientas de Diseo
Quartus II 15.0
Nios II

Demostracin Cdigo Fuente


Directorio de Quartus Proyecto: C5G_SD_MUSIC
Nios II : C5G_SD_MUSIC \ Software

Nios II Compilacin de proyectos

Antes de intentar compilar el diseo de referencia bajo Nios II, asegrese de que
el proyecto este limpio haciendo clic en 'Clean' del men 'Proyecto' de Nios II.

Demostracin de Archivo por lotes

Demo de la carpeta de archivos por lotes:

C5G_SD_MUSIC \ demo_batch

El demo de archivo por lotes incluye lo siguiente:

Archivo por lotes para USB-Blaster: C5G_SD_MUSIC.bat, C5G_SD_MUSIC.sh


FPGA Configurar archivo: C5G_SD_MUSIC.sof
Programa II Nios: C5G_SD_MUSIC.elf

Configuracin de Demostracin

Formato de la tarjeta Micro SD en FAT16 / FAT32


Coloque los archivos de la onda en el directorio raz de la tarjeta Micro SD.
Los archivos de la onda previstas deben tener una frecuencia de muestreo de
96K, 48K, 44.1K, 32K, o 8K. Adems, los archivos de onda deben ser estreo y
16 bits por canal.
Conectar un auricular o altavoz a la tarjeta C5G y usted debera ser capaz de
escuchar la msica que se reproduce desde la tarjeta Micro SD
Inserte la tarjeta micro SD en el zcalo SD que se encuentra en la tarjeta C5G.
Asegrese de Quartus II y Nios II estn instalados en su PC.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


92
Encienda la tarjeta C5G.
Conecte Blaster USB a la tarjeta C5G e instale el controlador USB Blaster si es
necesario.
Ejecute el archivo de demostracin por lotes "C5G_SD_MUSIC.bat" bajo la
carpeta de archivos por lotes C5G_SD_MUSIC \ demo_batch.
Pulse KEY3 en la tarjeta C5G para reproducir el siguiente archivo de msica
almacenada en la tarjeta SD y pulse KEY0 a reproducir la ltima cancin.
Pulse TECLA2 y TECLA1 para aumentar y disminuir el volumen de la msica
de salida respectivamente.
Use Switch 0 para la reproduccin de canciones en el modo de repeticin o
en modo de secuencial.

2.2.6.8. Lectura ADC

Esta demostracin ilustra pasos que pueden ser utilizados para evaluar el desempeo de
los 8 canales de 12 bits A / D Conversor LTC2308. La figura 6-21 muestra el diagrama de
bloques de esta demostracin. Implementa principalmente un Controlador ADC, las
seales analgicas se introducen en la entrada analgica de cabecera Arduino, y la FPGA
leer el registro asociado en el convertidor a travs de la interfaz de serie traducindolo
al valor de la tensin que aparece en la consola NIOS II.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


93
Figura 6-21 Diagrama de bloques de la demostracin de Lectura ADC.

La figura 6-22 muestra la disposicin de las patillas de la cabecera de Arduino. La


entrada analgica (Analog In ~ Analog In 7) de la cabecera de Arduino es la fuente de
entrada del convertidor ADC. El valor por defecto de la escala completa de ADC es 0 ~
4.096V mientras no suministre ninguna tensin de referencia al pin analgico Vref en el
encabezado de Arduino.

Figura 6-22 distribuciones de pines del ADC de la cabecera de Arduino

Nota: Analog_in4 y Analog_in5 es un multiplexor con otro IO, seleccione 1-2 de JP15 y JP
16 para cambiar a la entrada del ADC. Tabla 6-6 muestra la informacin detallada de la
seleccin.

Tabla 6-6 Seleccin de trazado Analgico / Digital de cabecera Arduino

JP15 JP16
Abrir No Seleccione No Seleccione
1-2 corto Utilice la entrada analgica Utilice la entrada analgica
Arduino 4 Arduino 5
2-3corto Utilice Arduino SDA o IO Utilice Arduino SCL o IO
Digital Digital

Introduccin a Quartus II Diseo VHL con Cyclone V GX


94
El LTC2308 es un bajo nivel de ruido, 500ksps, 8 canales, 12 bits ADC con una interfaz
serial compatible con SPI/MICROWIRE. El reloj de conversin interna permite que el
reloj de datos de salida serial externa (SCK) opere en cualquier frecuencia hasta 40MHz.

En esta demostracin, nos dimos cuenta que el protocolo SPI en Verilog, y el paquete en
esclavo Avalon MM IP se puede conectar a Qsys. La figura 6-23 muestra la conexin de
hardware entre FPGA y ADC, las seales SPI se retrasan al pasar por el cambio de nivel.
Para corregir el retraso, se utiliz PLL para generar dos salidas de reloj para el
Controlador ADC, uno para la ruta de escritura, otro para ruta de lectura.

Figura 6-23 Conexin del hardware entre FPGA y ADC.

Figura 6-24 es SPI especificacin del tiempo de LTC2308.

Figura 6-24 LTC2308 tiempo con un pulso cort CONVST.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


95
Figura 6-25 muestra la forma de onda SignalTap II de la demostracin, el reloj de
muestreo SignalTap II es de 200 MHz (5ns), la SCK es 40 MHz, y la frecuencia de
muestreo ADC logrado es 500 Ksps.

Figura 6-25 500 Ksps ADC muestreo demostracin de onda.

Como podemos calcular a partir de la figura 6-25,

Ciclo de muestreo:

Tcic = 400 * 5 ns = 2 nos (500 Ksps)

Tiempo de adquisicin:

Tacq = (400-299) * 5ns = 505 ns (Ver ficha tcnica ADC para la definicin detallada).

Importante: Los usuarios deben prestar ms atencin a la adaptacin de impedancia


entre la fuente de entrada y el circuito ADC. Si la impedancia de la fuente del circuito de
conduccin es baja, las entradas de ADC pueden ser conducidos directamente. De lo
contrario, se necesita ms tiempo de adquisicin para una fuente con mayor impedancia.

Para aumentar el tiempo de adquisicin Tacq, el usuario puede cambiar el valor


tHCONVST macro (predeterminado a 12) en ltc2308.v adc. Cuando SCK est ajustado a
40 MHz, que significa 25ns por unidad. Por lo tanto la adicin de ms tHCONVST tiempo
(al aumentar tHCONVST valor macro) reducir la frecuencia de muestreo del
convertidor ADC.

`definir tHCONVST 12

En la figura 6-26 se muestra el ejemplo configuraciones MUX de ADC. En esta


demostracin, se configura como 8 canales de la signal-end en el cdigo Verilog. La
tensin de referencia por defecto es 4.096V por pin flotante analgico Vref en el
encabezado de Arduino.

La frmula de la tensin de la muestra es:

Introduccin a Quartus II Diseo VHL con Cyclone V GX


96
Muestra Voltaje = ADC datos / Datos escala completa * Referencia de tensin.

En esta demostracin, a gran escala es 2 ^ 12 = 4096. Referencia de tensin es 4.096V.

As el Valor de ADC = datos ADC / 4096 datos * 4.096 = ADC / 1000

Figura 6-26 Ejemplo Configuraciones MUX.

Requisitos Del Sistema

Los siguientes elementos son necesarios para la demostracin de lectura ADC

Tarjeta C5G x1
Tensin de la muestra a medir

Introduccin a Quartus II Diseo VHL con Cyclone V GX


97
Localizacin de los archivos de demostracin

Directorio del Proyecto Hardware: C5G_ADC


flujo de bits utilizado : C5G_ADC.sof
Directorio de Proyectos de Software : C5G_ADCsoftware
archivo por lotes de demostracin: C5G_ADC \ demo_batch \ C5G_ADC.bat

Configuracin de Demostracin e Instrucciones

Proporcionar una tensin de muestra (0 ~ 4.096V) para medirse al canal ADC


correspondiente. (El usuario puede simplemente producir cualquier tensin de la
muestra mediante el uso de la herramienta de recorte de potencimetro (Figura
6-28). Por favor, preste especial atencin a la adaptacin de impedancia entre la
fuente de entrada y el circuito ADC).
Ejecutar la demo C5G_ADC.bat archivo por lotes para cargar flujo de bits y el
archivo de la ejecucin de software en FPGA.
Set SW [2: 0] = 000, para medir el canal 0 del ADC.
La consola Nios II mostrar el voltaje de la informacin resultado de voltaje canal
especificado
Proporcionar toda la tensin de entrada a otros canales de ADC y establecer SW
[2: 0] para el canal correspondiente, si el usuario desea medir otros canales.

Figura. 6-28 potencimetros.

2.2.6.9. Prueba LPDDR2 SDRAM de Nios II

Muchas aplicaciones utilizan una RAM de alto rendimiento, tal como un LPDDR2
SDRAM, para proporcionar almacenamiento temporal. En esta demostracin los diseos
de hardware y software se proporcionan para ilustrar la forma de realizar el acceso a la
memoria LPDDR2 en QSYS.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


98
Se describe cmo se utiliza " el Controlador LPDDR2 SDRAM con Uniphy " IP del Altera
para acceder a una LPDDR2 -SDRAM, y cmo se utiliza el procesador Nios II a leer y
escribir la SDRAM para la verificacin de hardware. El controlador LPDDR2 SDRAM
maneja los complejos aspectos del uso de LPDDR2 SDRAM por la inicializacin de los
dispositivos de memoria, la gestin de los bancos SDRAM, y mantener actualizados los
dispositivos a intervalos apropiados.

Sistema Diagrama de bloques

La figura 6-29 muestra el diagrama de bloques del sistema de esta demostracin. El


sistema requiere un reloj de 125MHz proporcionado por la tarjeta. El controlador
LPDDR2 est configurado como un controlador de 512 MB . El LPDDR2 IP genera un
reloj de 330MHz como reloj de datos de SDRAM y una tasa completa 330MHz reloj del
sistema para los controladores de host, por ejemplo, el Procesador Nios II, el acceso a la
SDRAM.

El QSYS, Nios II y la memoria en chip estn diseados para ejecutarse con el reloj de
125MHz, y el programa Nios II se ejecuta en la memoria del chip.

Figura 6-29 Demostracin Bsica Diagrama de bloques del LPDDR2.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


99
El flujo del sistema est controlado por un programa Nios II. En primer lugar, el
programa Nios II escribe patrones de prueba en todos los 512 MB de la SDRAM.

A continuacin, se llama a la funcin del sistema Nios II, alt_dcache_flush_all , para


asegurarse de que todos los datos se ha escrito para SDRAM . Finalmente, se lee datos de
SDRAM para la verificacin de datos. El programa mostrar el progreso en la terminal
JTAG al escribir / leer datos de la SDRAM. Cuando se completa el proceso de
verificacin, el resultado se muestra en la terminal JTAG.

Para utilizar Altera LPDDR2, los usuarios necesitan realizar cuatro pasos principales:

1. Cree asignaciones de pin correctas para la LPDDR2.


2. Configuracin de los parmetros correctos en dilogo controlador LPDDR2.
3. Lleve a cabo "Anlisis y Sntesis " seleccionando en el men Quartus II:
Process.
Start.
Inicio Anlisis y Sntesis.

4. Ejecutar los archivos generados por TCL LPDDR2 IP seleccionando en el men


Quartus II:

Herramientas
TCL Scripts ...

Herramientas de Diseo

Quartus II 15.0
Nios II

Demostracin Cdigo Fuente

Directorio del proyecto Quartus: C5G_LPDDR2_Nios_Test


Nios II: C5G_LPDDR2_Nios_Test\Software

Nios II Compilacin de proyectos

Antes de intentar compilar el diseo de referencia bajo Nios II, asegrese de que
el proyecto este limpio haciendo clic en ' Clean ' del men 'Proyecto' de Nios II .
Demostracin de Archivo por lotes
Carpeta de archivos por lotes de demostracin:

C5G_LPDDR2_Nios_Test \ demo_batch

El archivo por lotes demo incluye lo siguiente :


Archivo por lotes para USB - Blaster:

Introduccin a Quartus II Diseo VHL con Cyclone V GX


100
C5G_LPDDR2_Nios_Test.bat, C5G_LPDDR2_Nios_Test.sh
FPGA Configurar archivo: C5G_LPDDR2_Nios_Test.sof
Programa Nios II: C5G_LPDDR2_Nios_Test.elf

Configuracin de Demostracin
Asegrese de Quartus II y Nios II estn instalados en su PC.
Encienda la tarjeta C5G.
Utilice el cable USB para conectar el PC y la placa C5G (J10) e instale el
controlador USB Blaster si es necesario.
Ejecutar el archivo por lotes de demostracin " C5G_LPDDR2_Nios_Test.bat "
para USB- Blaster en la carpeta de archivos por lotes , C5G_LPDDR2_Nios_Test \
demo_batch
Despus de que el programa Nios II es descargado y ejecutado con xito, un
mensaje de solicitud se mostrar en el terminal de Nios II.
Pulse KEY3 ~ KEY0 de la tarjeta C5G para iniciar SDRAM verifique proceso.
Presione KEY0 para la prueba continua.
El programa mostrar el progreso y da lugar a la informacin, como se muestra
en la Figura 6-27.

Figura 6-30 Pantalla de Progreso y Resultados de Informacin para la demostracin


LPDDR2.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


101
3. Introduccin vhdl

3.1. Qu es VHDL?

VHDL es un lenguaje de descripcin de hardware estandarizado por la IEEE


(1076-93).
Es un acrnimo: V se toma por Very High Speed Integrated Circuit (Circuito
Integrado de muy alta velocidad), y HDL significa Lenguaje para la Descripcin de
Hardware.
Trmino acuado por el DoD (Department of Defense) de USA, quienes fueron los
primeros en usarlo para: Documentacin, modelado y simulacin de dispositivos
electrnicos.
Los simuladores de VHDL surgen en los 90s.
VHDL no fue creado para sntesis, esta propiedad se le agreg al buscar formas
que ayuden a automatizar los procesos de diseo.

3.2. Ventajas de VHDL para el diseo digital

Lenguaje estandarizado.
Permite el diseo modular y jerrquico de sistemas electrnicos.
VHDL permite el paralelismo.
Permite incluir diferentes niveles de abstraccin al describir un diseo digital.

3.3. Elementos de VHDL

VHDL permite la descripcin del aspecto exterior del circuito, es decir sus entradas y
salidas, al igual que la relacin a establecer entre ellas. En el aspecto exterior, se indica
los puertos de entrada y salida a utilizar, es lo que se denomina entity (Entidad).

La descripcin del comportamiento del circuito architecture (Arquitectura), tiene que


estar asociada a una entity; adems, es estrictamente necesario definir las bibliotecas y
paquetes que vamos a utilizar, lo que indica que tipos de puertos y operadores podemos
utilizar. Siempre debe aparecer la definicin de las bibliotecas y paquetes antes de la
definicin de la entity.

library ieee;
library std;
use ieee.std_logic_1164.all;
use std.standard.all;

Entity (Entidad)

Introduccin a Quartus II Diseo VHL con Cyclone V GX


102
Una entidad es la abstraccin de un circuito, ya sea desde un complejo sistema
electrnico o una simple compuerta lgica; describe nicamente la forma externa del
circuito, en ella se enumeran las entradas y las salidas del diseo y es anloga a un
smbolo esquemtico en los diagramas electrnicos, el cual describe las conexiones del
dispositivo hacia el resto del diseo. - Define externamente al circuito o subcircuito. -
Nombre y nmero de puertos, tipos de datos de entrada y salida. - Tiene toda la
informacin necesaria para realizar la conexin de un circuito hacia otros.

clk
Salida_s
reset

Figura 6.30 diagrama

Plantilla

entity nombre_entidad is
port( nombre_puerto1: tipo_de_ puerto tipo_de_dato;
nombre_puerto2:..);
end nombre_entidad;

Ejemplo:

entity multiplexor_21 is
Port ( a : in STD_LOGIC;
b : in STD_LOGIC;
control: in STD_LOGIC;
salida : out STD_LOGIC);
end multiplexor_21;

Los puertos pueden ser de entrada in, salida out, entrada-salida inout o buffer. Los
puertos de entrada slo se pueden leer y no se puede modificar su valor internamente
en la descripcin del comportamiento del circuito (architecture)

Architecture (Arquitectura)

Una arquitectura describe el funcionamiento de la entidad a la que hace referencia, es


decir, dentro de arquitectura se describe el funcionamiento de la entidad a la que est
asociada utilizando las sentencias y expresiones propias de VHDL.

- Define internamente el circuito.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


103
- Seales internas, funciones, procedimientos, constantes

- La descripcin de la arquitectura puede ser estructural o por comportamiento.

architecture nombre_arquitectura of nombre_entidad is


-- declaraciones de la arquitectura:
-- tipos
-- seales
-- componentes
begin
-- cdigo de descripcin
-- instrucciones concurrentes
-- ecuaciones booleanes
process (lista de sensibilidad)
begin
-- cdigo de descripcin
end process;
end nombre_arquitectura;

Ejemplo:

architecture control_mux_21 of multiplexor_21 is

begin
process (a, b, control)
begin
if (control =1)
then salida<=a;
else
salida <=b;
end if;
end process;
end control_mux_21;

Cada arquitectura va asociada a una entidad y se indica en la primera sentencia. Dentro


de esta tambin se encuentra los process los cuales se ejecuta de forma paralela y las
sentencias de dentro de estos se ejecutan de forma secuencial o concurrente.

El process es una estructura particular de vhdl que contiene sentencias que no


necesariamente tienen definido su valor para todas las entradas (el ejemplo ms comn
es una estructura if-else incompleta). Esto obliga a que la estructura process almacene
los valores de sus seales y pueda dar lugar (no siempre) a subcircuitos secuenciales.
Adems, en simulacin slo se ejecutan las sentencias internas a esta estructura cuando
alguna de las seales de su lista de sensibilidad cambia de valor.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


104
3.4. Identificadores

Se utilizan para dar nombres a los diferentes objetos del lenguaje como variables,
constantes y seales.

Las seales son un tipo de objeto que se declara dentro de la arquitectura antes del
begin, adems de que solo se actualizan al final del process. Otros tipos de objetos son
las constantes y las variables las cuales se declaran dentro del process. El tipo de objeto
constante es un valor fijo, es decir que no vara a lo largo del desarrollo del diseo,
mientras que las variables actualizan su valor inmediatamente.

Constantes:
CONSTANT e: real:= 2.7128

Variable:

Identificador:= expresin

La asignacin de una variable a un valor se hace mediante el operador:=

Nombre variable:= valor o expresin;

a:=b;

Seal:
Nombre seal<= valor;
a<=17;

En las tres definiciones anteriores, como en la definicin de los puertos de la


entity es necesario definir el tipo del objeto. VHDL permite utilizar tipos
predefinidos, as como otros definidos por el usuario. Los tipos predefinidos ms
comunes son los siguientes:

Bit: slo admite los valores 0 y 1. Para hacer una asignacin a un objeto tipo bit el
valor binario tiene que aparecer entre comas simples (0 o 1)

bit_vector (rango): el rango, siempre entre parntesis, indica el nmero de bits


del vector, stos slo pueden estar formados por ceros y unos. Para un vector de
N bits el rango ser N-1 downto 0, dnde el bit ms a la izquierda es el ms
significativo y el bit ms a la derecha el menos significativo (notacin binaria
estndar). Para hacer una asignacin el valor tiene que aparecer entre comillas
(por ejemplo: 1100).

Boolean: slo admite los valores true y false.

Carcter: cualquier letra o smbolo entre comillas simples.

String: cualquier cadena formada por letras o smbolos.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


105
integer rango: cualquier nmero entero dentro del rango, aqu el rango no va
entre parntesis, puede expresarse como 0 to MAX.

Natural rango: cualquier nmero natural dentro del rango.

Positive rango: cualquier nmero positivo dentro del rango real rango cualquier
nmero real dentro del rango.

std_logic tipo predefinido en el estndar IEEE 1164. Este tipo representa una
lgica multivaluada de 9 valores. Adems del 0 lgico y el 1 lgico, posee alta
impedancia Z, desconocido X sin inicializar U entre otros. Para hacer una
asignacin el valor tiene que aparecer entre comas simples (0, 1, X, ).

std_logic_vector(rango): representa un vector de elementos std_logic, posee las


mismas reglas de asignacin y definicin del rango que el tipo bit_vector pero con
un mayor nmero de valores posibles.

3.5. OPERADORES

Un operador nos permite construir diferentes tipos de expresiones mediante los cuales
podemos calcular datos utilizando diferentes seales.

OPERADORES
+, -, *, /, mod, rem operaciones aritmticas
+, - cambio de signo
& Concatenacin
and, or, nand, nor, xor operaciones lgicas
:= Asignacin de valores a constantes y
variables.
** Exponencial
Abs() Valor absoluto
<= Asignacin de valores a seales.
=, /= Igualdad, diferencia

3.6. Estructura Bsica de un Archivo fuente en VHDL

Los modelos VHDL estn formados por dos partes: la entidad (entity) y la arquitectura
(architecture)

Plantilla

Library ieee;
Library std;

Introduccin a Quartus II Diseo VHL con Cyclone V GX


106
Library work;

Use ieee.std_logic_1164.all;
Use std.standard.all;
Use work.all;

Entity nombre_entidad is
Port ( nombre_puerto1 : tipo_puerto tipo_dato;
Nombre_puerto2: tipo_puerto tipo_dato);
End nombre_entidad;

architecture nombre_arquitectura of nombre_entidad is


signal nombre_seal : tipo_dato <= valor;-- seales
begin
process (lista de sensibilidad)
Constant nombre_constante : tipo_dato :=valor; --constantes
Variable nombre_variable : tipo_dato := valor;--variables
Begin
-- sentencias secuenciales
-- sentencias condicionales
end process;
end nombre_arquitectura;

Ejemplo General

Library ieee;
Library std;

Use ieee.std_logic_1164.all;
Use std.standard.all;

Entity oscilador_led is
Port (
Sw1 : in std_logic_vector(1 downto 0);
Led1 : out std_logic_vector(3 downto 0)
);
End oscilador_led;

Architecture osc_led of oscilador_led is


Begin
Process(sw1)
Begin
Case sw1 is
When 00 => led1 <= 1100;

Introduccin a Quartus II Diseo VHL con Cyclone V GX


107
When 01 => led1 <= 0110;
When 10 => led1 <= 0011;
When 11 => led1 <= 1111;
End case;
End process;
End osc_led;

4. QUARTUS II 15.0

4.1. Inicio en Quartus II

Al iniciar el programa Quartus II, se encuentra una interfaz como la siguiente;

Donde se hallara diversas barras de herramientas para el diseo, simulacin y anlisis


de los circuitos.

Elegir la opcin FILE y enseguida la opcin New Project Wizard para iniciar un nuevo
proyecto.

Nota; es necesario crear una carpeta exclusiva donde se guardaran los proyectos
creados, dentro de esta carpeta se creara la carpeta (s) para cada proyecto con un nico
nombre, nombre el cual llevaran todos los archivos dentro de esta carpeta secundaria.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


108
Se desplegar la siguiente interfaz, donde aparece una breve introduccin de lo que se
realizara. Se procede a dar click en la opcin NEXT.

Continuando, se debe elegir la carpeta creada (donde se guardaran los proyectos) para
ubicar el nuevo proyecto. Para el caso presente se elige la carpeta Programacin tarjeta.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


109
La carpeta creada para el nuevo proyecto es Proyecto_1, aclarando que la entidad del
cdigo VHDL debe llevar este mismo nombre para que no genere conflicto en el
momento de compilar la descripcin.

Elegida la carpeta, se prosigue con la escritura del nombre del proyecto, tal y como es el
nombre de la carpeta, as:

Introduccin a Quartus II Diseo VHL con Cyclone V GX


110
La siguiente imagen muestra dos opciones, inicialmente se elige la opcin uno; la opcin
dos suele utilizarse para usar templates de proyectos ya existentes para ahorrar
escritura o reutilizar cdigo.

La opcin ADD FILES suele utilizarse cuando es necesario agregar archivos o proyectos
ya existentes a un nuevo proyecto para su correcto funcionamiento.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


111
Parte muy importante es elegir la tarjeta con la cual se va a trabajar, en este caso ser:
5CGXFC5C6F27C7, Cyclone V GX Extended Features

Introduccin a Quartus II Diseo VHL con Cyclone V GX


112
La siguiente pantalla que se muestra, sirve para elegir parmetros a sea para simular o
analizar el circuito diseado.

Nota; en la opcin de simulacin se elige ModelSim- Altera, puesto que es la herramienta


que se usa para la simulacin del diseo creado.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


113
Finalmente se despliega la pantalla siguiente, con un resumen de la informacin y
herramientas seleccionadas para trabajar en el actual proyecto creado.

Verificado el resumen anterior, se observa los cambios en la pantalla de inicio;

Introduccin a Quartus II Diseo VHL con Cyclone V GX


114
Elegir la opcin NEW de la herramienta FILE, al desplegarse la segunda pantalla se elige
la opcin VHDL FILE.

Realizada la accin se crea un archivo de extensin .vhd, para empezar a redactar cdigo
en este archivo es necesario tener fundamentos tericos que respalden el buen
funcionamiento del circuito a disear; en el ejemplo propuesto, se desarrolla un
contador de 0 a 9 acompaados de la iluminacin de una serie de Leds, el cdigo en
VHDL es el siguiente:

Ejemplo Contador de 0 a 9 con interruptores.


Library ieee;
library std;
library work;

use ieee.std_logic_1164.all;
use std.standard.all;
use work.all;

entity proyecto_1 is
port(
entradas : in std_logic_vector(3 downto 0);

Introduccin a Quartus II Diseo VHL con Cyclone V GX


115
salida_1 : out std_logic_vector (6 downto 0);
salida_2 : out std_logic_vector(9 downto 0)
);
end proyecto_1;

architecture contador_sw of proyecto_1 is


begin
proceso_leds : process (entradas)
begin
case entradas is
when "0000" => salida_2 <= "0111111111";
when "0001" => salida_2 <= "0011111111";
when "0010" => salida_2 <= "0001111111";
when "0011" => salida_2 <= "0000111111";
when "0100" => salida_2 <= "0000011111";
when "0101" => salida_2 <= "0000001111";
when "0110" => salida_2 <= "0000000111";
when "0111" => salida_2 <= "0000000011";
when "1000" => salida_2 <= "0000000001";
when "1001" => salida_2 <= "0000000000";
when others => null;
end case;
end process;
proceso_contador_0_9: process (entradas)
begin
case entradas is
when "0000" => salida_1 <= "0000001";
when "0001" => salida_1 <= "1001111";
when "0010" => salida_1 <= "0010010";
when "0011" => salida_1 <= "0000110";
when "0100" => salida_1 <= "1001100";
when "0101" => salida_1 <= "0100100";
when "0110" => salida_1 <= "0100000";
when "0111" => salida_1 <= "0001111";
when "1000" => salida_1 <= "0000000";
when "1001" => salida_1 <= "0000100";
when others => null;
end case;
end process;
end contador_sw;

Fundamentos Tericos;

Para el anterior ejemplo de un contador de 0 a 9 en un despliegue 7-


segmentos, es necesario conocer las bases tericas de este elemento, es decir,

Introduccin a Quartus II Diseo VHL con Cyclone V GX


116
conocer la configuracin comn del despliegue, conocer la ubicacin o
etiqueta de cada pin que ilumina cada parte del despliegue de tal forma que su
combinacin genere la visualizacin del numero deseado en el contador de
forma ascendente. Para ello referirse a la seccin principal del uso general de
la tarjeta Cyclone V GX 5CGXFC5C6F27C7 y sus elementos.
Se observa dos procesos en el ejemplo, el primero (proceso_leds) se encarga
de encender un vector de 10 leds segn la configuracin establecida por los 4
interruptores, que a la vez encienden el despliegue 7-segmentos en el
proceso dos (proceso_contador_0_9) iniciando el contador desde 0 a 9.

Redactado el cdigo VHDL se guarda los cambios del archivo y se compila

Introduccin a Quartus II Diseo VHL con Cyclone V GX


117
Es importante que el nombre del archivo sea idntico al nombre de la carpeta que lo
contiene, al igual que al nombre de la entidad del cdigo; para evitar conflictos es
necesario no utilizar palabras reservadas por el sistema para los diseos, palabras como
CASE, WHILE, FOR .etc.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


118
Compilado el cdigo se observara una pantalla como la imagen anterior si no han
ocurrido errores, en caso de que se encuentren errores de redaccin se observara
mensajes en fuente de color rojo.

4.2. Asignacin de Pines

Para la asignacin de pines se dirige a la herramienta ASSIGNMENTS y elegir la opcin


Assignment Editor o Pin Planner.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


119
Para la primera opcin se observara una pantalla de Assignment Editor.

Para la segunda opcin se observa una pantalla de Pin Planner.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


120
Continuando con la primera opcin se elige el baner TO de la tabla que se visualiza, lo
que dirige la siguiente pantalla, donde se da click en la opcin LIST, verificando que la
opcin FILTER se sostenga en la opcin ALL.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


121
Deben aparecer todos los puertos de entradas y salidas, asi:

Con la opcin se elige cada posicin de los vectores de entrada y salida,


seleccionando OK para cada uno.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


122
Para cada Pin se debe escoger en el banner Assignment Name la opcin Location
(Accepts wildcares/groups).

Terminada la asignacion para cada pin (21 en total), se tendra la siguiente pantalla.

Compilar nuevamente el codigo guardando los cambios realizados.

Se tendr nuevamente una pantalla con un resumen de la compilacin sin errores

Introduccin a Quartus II Diseo VHL con Cyclone V GX


123
4.3. Simulacin de Circuitos Diseados

Finalizado el proceso de compilacin con los pines correctamente asignados, se procede


a la simulacin del circuito diseado con la finalidad de comprobar su correcto
funcionamiento; para ello se utiliza el software ModelSim 10.3 que puede ser
descargado desde la pgina de Altera.

Para corroborar el comportamiento de entradas y salidas del circuito se realiza un


banco de pruebas eligiendo el banner TOOLS Run Simulation Tool- RTL Simulation o
Gate Level Simulation.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


124
O dirigirse a los iconos , cualquiera de las dos opciones dirige a
software ModelSim, se observa la pantalla de inicio

Dirigirse al banner Library, elegir la opcin Work

Se desplegara una opcin con el nombre del


proyecto realizado en Quartus, en este caso
PROYECTO_1, al dar click derecho se elige la opcin
Simulate.

Se
modifica
las
ventanas
con que se
trabajan.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


125
Agregar los puertos al comando de ondas dando click derecho sobre el nombre del
proyecto;

Realizada la anterior accin, se observa una pantalla como la siguiente;

Las seales que se tienen no poseen valores definidos, por ello al iniciar la simulacin
con la opcin RUN deben aparecer lneas de color rojo en la pantalla WAVE.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


126
Para observar el comportamiento de las salidas Salidas_1 y Salidas_2 se debe forzar la
seal Entradas, con la opcin Force que aparece dando click derecho sobre la seal.

Es necesario introducir los valores deseados para las entradas, para el ejemplo se toma
las combinaciones de 4 bits en orden desde 0000 hasta 1111, as;

Nota; es necesario realizar este paso para cada valor de las entradas.

Introducido un valor forzado, se ejecuta la


simulacin con el icono que parece en la imagen llamado
RUN.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


127
Con los valores otorgados a la seal de entrada se modificara las seales de salida que se
tornan de color verde, de tal forma que es posible observar y analizar el funcionamiento
del diseo.

Realizando estas acciones el nmero de veces que sea necesario se tendr una
simulacin como la siguiente.

Donde se verifica que el


comportamiento de cada seal sea
acorde al ideal y necesario.

Este archivo de simulacin de ondas


(con extensin .do y .bak) se puede
guardar dando click en el icono;

Introduccin a Quartus II Diseo VHL con Cyclone V GX


128
Para finalizar la simulacin;

Simulacin de proyectos directamente creados en ModelSim con lenguaje


Verilog.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


129
Crear un nuevo proyecto por medio de la herramienta FILE, como se indica en la figura.

Nombrar el proyecto, en este ejemplo es COMPUERTA_OR, ya que se simula el


funcionamiento de una compuerta OR con lenguaje Verilog.

Se despliega la anterior pantalla, donde se elige la opcin Create New File, para crear el
archivo de extensin .V (verilog) para el proyecto y para el banco de pruebas.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


130
Juntos archivos deben ser de tipo Verilog, esto quiere decir que se debe redactar el
cdigo en lenguaje Verilog, no en lenguaje VHDL.

Cdigo necesario para el archivo Comp_or en lenguaje Verilog.

Module comp_or (
Input wire a, b,
Output wire c);
Assign c= a | b;
Endmodule

Guardado los cambios en el archivo se compila


como se muestra en la figura.

Ocurrida correctamente la compilacin se


redacta en lenguaje verilog el archivo
test_comp.v que es el banco de pruebas del
proyecto para la compuerta OR.

Cdigo en Verilog para el archivo test_comp.v

`timescale 1ns/ 10 ps
Module test_or;
Reg a_i, b_i;
Wire c_o;
Comp_or uut (.a(a_i), .b(b_i), c.(c_o));
Initial begin
a_i= 1b0;
b_i=1b0;
#10;
a_i= 1b1;
b_i=1b0;
#10;
a_i= 1b0;
b_i=1b1;
#10;
a_i= 1b1;
b_i=1b1;
#10;
End
Endmodule
Compilado el archivo test_comp.v se procede a su simulacin.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


131
Nota; observar los vistos de color verde en el banner Status, pues indican la correcta
compilacin de los archivos.

La simulacin se inicia en la herramienta Simulate Start Simulation.

Se desplegara una pantalla conteniendo las libreras existentes, en las cuales se elige la
librera WORK y en este caso se elige test_or.v que es el archivo que contiene el banco de
pruebas para el proyecto.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


132
Iniciada la simulacin se modifica la visualizacin del comando de trabajo, as:

Dirigirse al comando WAVE donde se visualiza las ondas de las seales de entrada y
salida; las seales deben ser agregadas al comando de trabajo de la siguiente forma.

Para dibujar las ondas se corre la simulacin con el icono RUN.


Introduccin a Quartus II Diseo VHL con Cyclone V GX
133
Seguidamente se da click en el icono ZOOM FULL para visualizar
mejor las ondas, verificado el correcto funcionamiento del circuito diseado, se finaliza
la simulacin guardando como archivo de extensin .do.

4.4. Programacin en Cyclone V GX 5CGXFC5C6F27C7.

Observado y rectificado el correcto funcionamiento del circuito mediante la simulacin


en ModelSim, se prosigue a la programacin o montaje del circuito en la FPGA Cyclone V
GX 5CGXFC5C6F27C7.

Elegir la opcin Programmer en la herramienta Tools, con lo cual se despliega un nuevo


comando de trabajo.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


134
Verificar que en el banner MODE se encuentre la opcin JTAG si se desea descargar un
flujo de bits (bitstream) en la FPGA sin modificar la tarjeta, elegir el modo AS si se desea
configurar los datos voltiles utilizando el dispositivo EPCQ256.

Una vez conectada la FPGA por medio del USB-Blaster, este lo detecta de modo que
enseguida del banner Hardware Setup aparezca el mensaje USB-Blaster (USB 0), si
aparece el mensaje No Hardware.

Elegir la opcin ADD FILES lo que despliega la siguiente pantalla.

Dirigirse a la carpeta OUTPUT_FILES y elegir el archivo de extencin .sof del bitstream.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


135
Elegir la opcin START para iniciar la descarga de flujo de bits (bitstream) en la FPGA,
esta indicara la finalizacin de esta accin por medio de Leds.

Por ltimo queda manipular los elementos utilizados como entradas en la FPGA para ver
el funcionamiento del circuito diseado y montado en la misma, para el ejemplo
trabajado se deben manipular 4 switches (observar la etiqueta de cada uno en la tarjeta
y el pin correspondiente para poder ser ubicados fcilmente) que deben controlar el
contador del despliegue 7-segmentos (Ubicacin segn etiqueta de los pines asignados)
y 10 leds (Ubicacin segn etiqueta de los pines asignados).

Introduccin a Quartus II Diseo VHL con Cyclone V GX


136
5. Glosario

A/D: Acrnimo de Analog to Digital [De analgico a digital] Expresa la conversin


de un sistema al otro.
ADC: convierte seales analgicas en seales digitales.
ASCII: (American Standard Code of Information Interchange), Cdigo
normalizado estadounidense para el intercambio de la informacin. Cdigo que
permite definir caracteres alfanumricos; se lo usa para lograr compatibilidad
entre diversos procesadores de texto. Se pronuncia "aski".
BCC: blind carbon copy. Funcin que permite mandar un mensaje de e-mail a ms
de un destinatario. A diferencia de la funcin cc, el nombre de los destinatarios no
aparece en el encabezado.
BIOS: Basic Input/Output System: Sistema bsico de ingreso/salida de datos.
Conjunto de procedimientos que controla el flujo de datos entre el sistema
operativo y dispositivos tales como el disco rgido, la placa de video, el teclado, el
mouse y la impresora.
BIT: abreviatura de binary digit (dgito binario). El bit es la unidad ms pequea
de almacenamiento en un sistema binario dentro de una computadora.
Buffer: rea de la memoria que se utiliza para almacenar datos temporalmente
durante una sesin de trabajo.
Bus: Mazo de lneas conductoras que sirve para canalizar el intercambio de
instrucciones y datos. Tambin puede definirse como el medio fsico de
transmisin de la informacin en el ordenador.
BUS SERIAL: mtodo de transmisin de un bit por vez sobre una sola lnea.
Byte: unidad de informacin utilizada por las computadoras. Cada byte est
compuesto por ocho bits.
Bypass: es un circuito que acta como vlvula modificando el flujo normal de
datos hacia una ruta alternativa si se produce una cada de corriente o algn otro
problema. Se utiliza en sistemas de alta disponibilidad. Suelen ser dispositivos
mecnicos para evitar que les afecten los fallos elctricos. Cuando falla la
corriente se dispara una "pinza" que cortocircuita el circuito alternativo.
CAD: (computer-aided design, diseo asistido por computador): Consiste en usar
las computadoras para disear productos, permitiendo a los usuarios elaborar
modelos tridimensionales "slidos" con caractersticas fsicas como peso,
volumen y centro de gravedad. Estos modelos pueden rotarse y observarse desde
cualquier ngulo. El computador puede evaluar el desempeo estructural de
cualquier parte el modelo.
CMOS: es una de las familias lgicas empleadas en la fabricacin de circuitos
integrados. Su principal caracterstica consiste en la utilizacin conjunta de

Introduccin a Quartus II Diseo VHL con Cyclone V GX


137
transistores de tipo pMOS y tipo nMOS configurados de tal forma que, en estado
de reposo, el consumo de energa es nicamente el debido a las corrientes
parsitas, colocado en la placa base.
CODIFICADOR: esquema que regula una serie de transformaciones sobre
una seal o informacin. Estos pueden transformar una seal a una forma
codificada usada para la transmisin o cifrado o bien obtener la seal adecuada
para la visualizacin o edicin (no necesariamente la forma original) a partir de
la forma codificada.
CONMUTADOR: es un dispositivo de interconexin de redes de otros
dispositivos o computadoras. Conocido tambin como switch, el conmutador es
un aparato que interconecta dos o ms segmentos de una misma red para el
enlace de datos, funcionando como un puente. Se dice que en una red en
estrella el conmutador es el centro.
CONTROLADOR: (o driver en ingls) puede hacer referencia a: * Controlador de
dispositivo (o hardware), es un componente de software usado por el sistema
para poder interactuar con el hardware.
DECODIFICADOR: es un circuito combinacional, cuya funcin es inversa a la
del codificador, esto es, convierte un cdigo binario de entrada (natural, BCD,
etc.) de N bits de entrada y M lneas de salida (N puede ser cualquier entero y M
es un entero menor o igual a 2N), tales que cada lnea de salida ser activada para
una sola de las combinaciones posibles de entrada. Estos circuitos, normalmente,
se suelen encontrar como decodificador / demultiplexor. Esto es debido a que un
demultiplexor puede comportarse como un decodificador. Un tipo de
decodificador muy empleado es el de siete segmentos. Este circuito decodifica la
informacin de entrada en BCD a un cdigo de siete segmentos adecuado para
que se muestre en un visualizador de siete segmentos.
DISPOSITIVOS DAC: convierte la informacin de digital a analgico.
EMBEBIDA: tambin se lo conoce como sistema "incrustado" o "empotrado, de
uso especfico construido dentro de un dispositivo mayor. Los sistemas
integrados se utilizan para usos muy diferentes a los usos generales a los que se
suelen someter a las computadoras personales. En un sistema integrado la
mayora de los componentes se encuentran incluidos en la placa base."
EMULACIN: emulation. Proceso de compatibilizacin entre computadoras
mediante un software.
FAT: es un formato popular para disquetes admitido prcticamente por todos los
sistemas operativos existentes para computadora personal. Se utiliza como
mecanismo de intercambio de datos entre sistemas operativos distintos que
coexisten en la misma computadora, lo que se conoce como entorno

Introduccin a Quartus II Diseo VHL con Cyclone V GX


138
multiarranque. Tambin se utiliza en tarjetas de memoria y dispositivos
similares.
FIFO: es la forma de abreviar la regla First In First Out que indica que las
posiciones se cierran en el orden que fueron abiertas.
FRACCIONADO: Dividir algo en partes o fracciones.
GPIO: (General Purpose Input/Output, Entrada/Salida de Propsito General) es
un pin genrico en un chip, cuyo comportamiento (incluyendo si es un pin de
entrada o salida) se puede controlar (programar) por el usuario en ejecucin. Los
pines GPIO no tienen ningn propsito especial definido, y no se utilizan de
forma predeterminada. La idea es que a veces, para el diseo de un sistema
completo que utiliza el chip podra ser til contar con un puado de lneas
digitales de control adicionales, y tenerlas a disposicin ahorra el tiempo de tener
que organizar circuitos adicionales para proporcionarlos.
HARDWARE: es la parte fsica de un ordenador o sistema informtico, est
formado por los componentes elctricos, electrnicos, electromecnicos y
mecnicos, tales como circuitos de cables y circuitos de luz, placas, utensilios,
cadenas y cualquier otro material, en estado fsico, que sea necesario para hacer
que el equipo funcione.
HISTRESIS: es una regin creada alrededor de una barrera lgica en la cual los
cambios en la seal de entrada no tienen ningn efecto en la seal de salida.
Bsicamente, esta propiedad crea 2 barreras separadas para cambiar de alto a
bajo, o viceversa.
HOST: se refiere a las computadoras conectadas a una red, que proveen y utilizan
servicios de ella. Este trmino se usa en informtica sobre todo a nivel de redes,
donde en muchas ocasiones (no siempre), se asimila al concepto de servidor. Un
host no es ms que un nodo, un ordenador o un conjunto de ellos, que ofrecen
servicios, datos... al resto de ordenadores conectados a la red, sea esta local o
global como internet.
I/O: Acrnimo de Input/Output [Entrada/Salida]. Suele aplicarse al flujo de
datos. Tambin es conocido por su acrnimo castellano 'E/S' (Entrada/Salida).
INTERFAZ: Conexin mecnica o elctrica que permite el intercambio de
informacin entre dos dispositivos o sistemas. Habitualmente se refiere al
'software' y 'hardware' necesarios para unir dos elementos de proceso en un
sistema o bien para describir los estndares recomendados para realizar dichas
interconexiones. Es ms conocido por su denominacin inglesa: 'interface'.
JTAG: Joint Test Action Group (JTAG) es una norma empleada para testear
puertos de acceso empleada para pruebas de circuitos impresos empleando
escaneo de lmites. Actualmente tambin se emplea para probar submdulos de

Introduccin a Quartus II Diseo VHL con Cyclone V GX


139
circuitos integrados. Su nombre estandarizado es el IEEE 1149.1 Standard Test
Access Port and Boundary-Scan Architecture (ao 1990).
LCD: Liquid Crystal Display. Pantalla de cristal lquido, usada generalmente en las
notebooks y otras computadoras pequeas.
LPDDR2: es una interfaz compartida para memorias voltiles (SDRAM) tanto
como no-voltiles (NVM) que permite una mayor densidad de almacenamiento.
MICRO SD: corresponden al formato de tarjeta de memoria flash ms pequea
que la miniSD.
MCU: Siglas del ingls Multipoint Control Unit, es un equipo de video
conferencias que permite que ms de tres unidades de video conferencia se
conecten entre ellas, para formar una sesin multigrupal de video conferencia.
MULTIPLEXOR: es un dispositivo que recibe mltiples entradas y las rene para
transmitirlas juntas en una nica salida. Una salida multiplexada debe ser
demultiplexada (con un demultiplexor) para poder obtener todas las entradas
originales.
PATILLAS: se denomina pin, palabra inglesa que significa clavija,1 a la terminal
o patilla de cada uno de los contactos metlicos de un conector o de un
componente fabricado de un material conductor de la electricidad. Estos se
utilizan para conectar componentes sin necesidad de soldar nada, de esta manera
se logra transferir electricidad e informacin. Para determinar la misin de cada
uno de los pines de un dispositivo, se debern consultar sus respectivas hojas de
datos o datasheet.
PERIFRICO: Dispositivo asociado a un ordenador pero que no forma parte del
mismo. La impresora, por ejemplo, es un perifrico. Estrictamente hablando, la
pantalla, el teclado y las unidades de disco tambin lo son. Los dispositivos
perifricos tienen como misin facilitar las relaciones del ordenador con el
mundo exterior.
Perifricos de entrada
Son los dispositivos perifricos encargados de recoger la informacin que ser
tratada por el ordenador.
Perifricos de salida
Son los dispositivos perifricos encargados de facilitar la salida al exterior de los
resultados obtenidos tras el proceso de la informacin llevado a cabo por el
ordenador.
PLL: Se trata de un sistema en el que la frecuencia y la fase son realimentados.
RTL: nivel de transferencia de registros
SCHMITT TRIGGER: (disparador de Schmitt) es un tipo especial
de circuito comparador. el cual usa la histresis para prevenir el ruido que podra

Introduccin a Quartus II Diseo VHL con Cyclone V GX


140
tapar a la seal original y que causara falsos cambios de estado si los niveles de
referencia y entrada son parecidos.
SDRAM: memoria muy rpida, de gran capacidad, para servidores y estaciones de
trabajo.
SOFTWARE: es un trmino informtico que hace referencia a un programa o
conjunto de programas de cmputo que incluye datos, procedimientos y pautas y
que permite realizar distintas tareas en un sistema informtico. Comnmente se
utiliza este trmino para referirse de una forma muy genrica a los programas de
un dispositivo informtico.
SRAM: son las siglas de la voz inglesa Static Random Access Memory, que
significa memoria esttica de acceso aleatorio (o RAM esttica), para denominar a
un tipo de tecnologa de memoria RAM basada en semiconductores, capaz de
mantener los datos, mientras siga alimentada.
TARJETA CF: CompactFlash (CF) fue originalmente un tipo de dispositivo de
almacenamiento de datos, usado en dispositivos electrnicos porttiles. Como
dispositivo de almacenamiento, suele usar memoria flash en una carcasa
estndar. El formato fsico sirve ahora para una gran variedad de dispositivos.
Principalmente hay dos tipos de tarjetas CF, el Tipo I y el Tipo II, ligeramente ms
grueso. Hay tres velocidades de tarjetas (CF original, CF de Alta Velocidad
(usando CF+/CF2.0) y CF de Alta Velocidad (Usando CF3.0). La ranura CF de Tipo
II es usada por Microdrives y algunos otros dispositivos.
TRANSCEPTORES: es un dispositivo que realiza funciones tanto de envo como
de recepcin de seales, empleando elementos comunes del circuito para ambas
funciones. Como algunos elementos del circuito se emplean tanto para el envo
como para la recepcin, un transceptor slo puede ser semiduplex; esto significa
que puede enviar seales en ambos sentidos, pero no de forma simultnea.
TEMPLATES: ES una plantilla o dispositivo de interfaz, que suele proporcionar
una separacin entre la forma o estructura y el contenido. Es un medio o aparato
o sistema, que permite guiar, portar, o construir, un diseo o esquema
predefinido.
UART: Universal Asynchronous Receiver-Transmitter). Chip de ciertos sistemas
digitales cuyo principal objetivo es convertir los datos recibidos en forma
paralela, a forma serial, con el fin de comunicarse con otro sistema externo.
Tambin realiza el proceso inverso.
Todas las computadoras y algunos mdems y adaptadoras RDSI tienen su
componente UART. Los UART son programables, pudiendo configurarse la
velocidad, paridad, longitud y bits de parada.
USB: (Bus Universal en Serie). Se trata de un concepto de la informtica para
nombrar al puerto que permite conectar perifricos a una computadora.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


141
Utilidad: hace referencia a cualquier tipo de herramienta que se emplea con el
nico y claro objetivo de servir no slo para poder llevar a cabo la construccin
de un programa determinado sino tambin para la posterior ejecucin del mismo.
VERILOG: es un lenguaje de descripcin de hardware (HDL, del Ingls Hardware
Description Language) usado para modelar sistemas electrnicos. El lenguaje,
algunas veces llamado Verilog HDL, soporta el diseo, prueba e implementacin
de circuitos analgicos, digitales y de seal mixta a diferentes niveles
de abstraccin.
VGA: que significa Video Graphics Array o Coleccin de Grficos de Video ha
sido una de las plataformas de color ms populares de todos los tiempos que
sera reemplazada hace relativamente poco tiempo por nuevas y ms modernas
composiciones. Sin embargo, hoy en da se est volviendo a reutilizar en los
dispositivos mviles que cuentan con resolucin de colores ms simples que las
de los computadores avanzados.
Voltil: existen los trminos voltil y no voltil. La memoria RAM es
considerada un tipo de memoria voltil ya que los datos que no sean guardados
de forma permanente sern eliminados al momento de apagar el aparato
electrnico. La memoria ROM no es voltil ya que la informacin se puede
eliminar al apagar el dispositivo electrnico.

6. Bibliografia
http://www.terasic.com.tw/cgi-
bin/page/archive.pl?Language=English&CategoryNo=167&No=830&PartNo=2
Altera Corporation-University Program , Quartus II Introduction Using VHDL
Designs, October 2012
Altera.com
Altera Corporation, ModelSim with Quartus II Using VHDL Designs, November
2013.
Software Quartus II 15.0 free Edition 2015
Software ModelSim 10.3d free Edition 2014
User Manual Cyclone V GX Starter Kit-Terasic & Altera Junio 2014
Aleta Corporation-University Program, Quartus II Simulation Using VHDL
Designs, October 2012.

Introduccin a Quartus II Diseo VHL con Cyclone V GX


142

You might also like