Académique Documents
Professionnel Documents
Culture Documents
1
RECONOCIMIENTO DE LA TARJETA ATLYS SPARTAN 6
1. OBJETIVOS
• Comparar la tarjeta ATLYS Spartan 6 con otras de tecnología similar, así como los
diferentes lenguajes de programación en los que pueden ser programadas.
2. JUSTIFICACIÓN
3. MARCO TEÓRICO
En la figura 1 se pude ver la tarjeta ATLYS Spartan 6 de Xilinx con cada uno de sus
componentes que serán descritos a continuación.
Página 1 de 16
3.1. Descripción
La tarjeta de desarrollo ATLYS es una plataforma de desarrollo que cuenta con una serie de
dispositivos y elementos ya instalados que le permite al diseñador realizar una gran variedad
de proyectos y ponerlos a prueba fácilmente. La ATLYS cuenta con el Spartan – 6 LX45
FPGA de XILINX; las principales características son: Comunicación por medio Ethernet a
velocidades de Gigabits, HDMI, memoria DDR2 de 128MB y de 16bits, puerto USB y salida
de audio; todas estas características y más hacen de la tarjeta ATLYS una de las mejores
tarjetas de desarrollo basadas en FPGA. También cuenta con un procesador embebido para
diseño basados en Microblaze de Xilinx. Esta tarjeta es compatible con todas las
herramientas de software de XILINX, entre los cuales tenemos: ChipScope, EDK y la versión
gratuita de ISE WebPack por lo que los diseños se pueden completar sin costo adicional.
• 6822 slices, cada uno con cuatro LUTs de 6 de entrada y ocho flip – flops.
• Un bloque de RAM de alta velocidad de 2.1Mbits.
• Cuatro controladores de reloj (8 DCMs y 4 PLLs).
• Seis lazos de seguidores de fase (PLLs).
• 58 slices DSP.
• Velocidad de reloj a más de 500 MHz.
Página 2 de 16
Esta tarjeta soporta una gran variedad de diseños de IP Core (Núcleo con propiedad
intelectual) y varios diseños de referencia que están disponible en el sitio web
ww.digilentinc.com en la sección de FPGA y la pagina referente a la ATLYS.
3.2. Configuración
Una vez que el interruptor principal de la tarjeta ATLYS es cerrado, esta debe ser
programada antes de poder realizar cualquier función. El FPGA se puede configurar de tres
maneras posibles: Por medio de una PC a través de un puerto USB, un archivo de
configuración almacenado en la memoria FLASH SPI o por un archivo que puede ser
transferido desde una memoria USB conectada al puerto USB – HID.
Página 3 de 16
El jumper (puente) JP11 selecciona entre los modos USB – JTAG y ROM PROG. Si el
jumper JP11 está abierto el FPGA se configura automáticamente por medio del archivo
almacenado en la memoria FLASH SPI, si se pone en corto el jumper JP11 el FPGA
permanecerá inactivo hasta que se realice un procedimiento de configuración desde una PC
por medio del puerto USB – JTAG. El jumper JP12 debe estar conectado siempre, ya sea a
3.3V o 2.5V; si el jumper JP12 no está conectado el bank 2 no será alimentado y tampoco los
pull – up para: CCLK, DONE, PROGRAM_B e INIT_B. El FPGA se colocará en un estado de
RESET por lo que no se podrá programar.
Durante un proceso de programación del FPGA por medio del archivo .bit o .svf que es
transferido desde una computadora, el archivo es escrito directamente al FPGA por medio
del puerto USB – JTAG; mientras que cuando se desea enviar el archivo a la memoria
FLASH SPI, el proceso se realiza en dos pasos, primero se envía un pequeño archivo de
configuración directamente al FPGA para que sea programado con una rutina que le permite
establecer comunicación con la memoria FLASH y luego se le envía los datos el archivo que
deseamos almacenar en la memoria FLASH SPI para que sea el FPGA el que finalmente
guarde los datos en la memoria FLASH, para el usuario este procedimiento es tan sencillo
como enviar los datos directo a la memoria FLASH; pero el procedimiento real esta
subyacente en el proceso de comunicación y le es invisible al usuario. Una vez que el archivo
ha sido enviado a la memoria FLASH se puede utilizar para configurar desde ella al FPGA en
el siguiente POWER – RESET que tenga la tarjeta ATLYS, siempre y cuando el jumper JP11
Página 4 de 16
esté abierto. El archivo almacenado en la memoria FLASH estará disponible siempre, sin
importar cuantas veces se encienda o se apague la tarjeta, solo se perderá si se sobrescribe
información en la memoria.
Página 5 de 16
los cuales proporcionan los voltajes adecuados. Los niveles son: 3.3V, 2.5V, 1.8V, 1.0V y
0.9V. Además, están presente los componentes necesarios para que estos reguladores
funcionen.
Las cuatro principales fuentes de voltaje de la ATLYS están conectadas al LTC2481 que es
un ADC que permite monitorear el valor de la corriente con una precisión de 1%. Estas
corrientes pueden ser visualizados por medio de una computadora utilizando el programa
ADEPT de DIGILENT. Las fuentes de alimentación están controladas por el interruptor SW8
el cual apaga la tarjeta; el led LD15 indica que los niveles de voltajes son los adecuados, si
este led no enciende puede que sea por algún voltaje que no está dentro del 10% del voltaje
nominal.
Hay un jumper que habilita un nivel de voltaje en el conector de expansión, en los puertos
HDMI y USB. Este interruptor transfiere el voltaje VU al nodo Vswt siempre y cuando el
interruptor SW8 esté cerrado.
Página 6 de 16
3.4. Memoria DDR2
La ATLYS tiene incorporado una memoria DDR2 de 1GB conectada al bloque controlad or de
memoria en el FPGA. Las ATLYS de versiones anteriores utilizan una memoria
MT47H64M16 – 25E DDR2 de la marca MICRON, mientras que las nuevas versiones de las
tarjetas ATLYS utilizan P3R1GE3EGF G8E DDR2 de la marca MIRA; para tener acceso a la
hoja de datos del dispositivo de MIRA se debe realizar una búsqueda en Internet para
P3R1GE3JGF, ambos dispositivos ofrecen un bus de datos con capacidad de 16 bits y 64M
localizaciones de memoria; la velocidad a la cual han sido probadas es de 800MHz con lo
cual es suficiente para aplicaciones hechas con el oscilador incorporado en la ATLYS que es
de 100MHz.
La interface cumple con la configuración de pines y señales necesarias para ser utilizadas
con el XILINX MEMORY INTERFACE GENERATOR (MIG); puede consultar la guía de
usuario para obtener más información. La interfaz soporta la señalización SSTL18,
direccionamiento a todas las localidades de memoria, datos, reloj y señales de control con
retardos compatibles, y control de impedancia. Las señales del bus de dirección y las señales
de control están conectadas a resistencias de 47 Ohms y estas a 0.9V Vtt y las señales de
datos usan terminación ON – DIE (ODT) lo cual es característico de las memorias DDR2. En
los dispositivos DDR2 se tienen dos señales de reloj apareadas que ayudan a corregir los
efectos del sesgo en las señales de reloj convencionales, ambas señales de reloj están
conectadas al FPGA.
Cuando se genera un núcleo MIG para la memoria DDR2 de la marca MIRA seleccionamos
un dispositivo tipo EDE1116AXXX – 8E lo que dará como resultado que los tiempos de las
señales sean correcto. Cuando se genera un núcleo para la memoria DDR2 de la marca
MICRON se puede seleccionar por su propio nombre de la lista que aparece en el asistente.
Para verificar que dispositivo DDR2 está colocado en su tarjeta ATLYS debe comprobar el
dispositivo etiquetado como IC13, en el cual puede ver directamente sobre el mismo
dispositivo para ver de qué marca es.
Página 7 de 16
3.5. Memoria flash
La memoria FLASH que esta incorpora en la ATLYS es una memoria NUMONYX de 128Mb
modelo N25Q12 con protocolo de comunicación serial SPI. La memoria está organizada en
un formato de 16 bits por 16MB para el almacenamiento del archivo de configuración. Los
archivos de configuración que pueden ser almacenados en la memoria FLASH son archivos
con las extensiones: .bit, .bin o .mcs; para lo cual se puede utilizar el programa ADEPT de la
empresa DIGILENT. Un archivo de configuración puede ocupar menos de 12Mb lo que deja
hasta 116Mb utilizable por el usuario, para que el usuario pueda transferir datos fácilmente a
esta memoria puede utilizar las funciones del programa ADEPT, mediante este programa se
puede transferir datos de un computador a la memoria o bien extraer los datos almacenados
en la memoria. Otra posibilidad es realizar un programa propio en el FPGA que transfiera los
datos desde la FLASH. En el sitio web de la empresa DIGILENT hay información de
referencia para poder diseñar una interface propia, inclusive puede encontrar un ejemplo que
controla la memoria FLASH.
3.6. Ethernet
Cuando se produce un evento de power – reset el integrado carga los valores por defecto lo
cuales son:
Página 8 de 16
• Interface MDIO seleccionada, Dirección PHY MDIO = 00111.
• Sin pausa asimétrica, sin pausa de MAC, cruce automático habilitado.
• Detección de energía en el cable deshabilitada (Modo de suspensión deshabilitado) y
la polaridad de interrupción es bajo.
La datasheet del integrado está disponible en el sitio de MARVELL solo con un acuerdo de
confidencialidad (NDA), por lo que tiene que contactar con MARVELL para más información.
Para diseño basado en EDK puede utilizar el núcleo xps_ethernetlite de 10/100 Mbps o el
xps_II_temac de 10/100/1000 Mbps para incorporar en sus diseños la capacidad de un
ethernet PHY.
Con el ISE DESIGNS puede crear un núcleo con propiedad intelectual (IP Core) para un
controlador de Ethernet MAC de 3 modos.
La ATLYS tiene 4 puertos HDMI, entre los cuales tenemos 2 puerto HDMI de entrada o
salidas con buffer HDMI, otro puerto HDMI de salida solamente con buffer, también tiene un
puerto HDMI de entrada o salida sin buffer que generalmente se utiliza como salida. Tres de
los puertos HDMI son de tipo A y el puerto que no tiene buffer usa el conector tipo D
colocado por la parte de abajo de la placa exactamente debajo del PMOD. El puerto sin
Página 9 de 16
buffer comparte señales con el conector PMOD. Esto limita el ancho de banda de las señales
de vídeo que puede producir o recibir principalmente cuando se utilizan cables HDMI largos.
Ya que los sistemas de vídeo HDMI y DVI utilizan las mismas señales de tiempo, se puede
utilizar un adaptador para convertir las salidas HDMI en salidas DVI. Los puertos HDMI no
soportan pantallas analógicas por lo que no es posible conectar pantallas con puerto VGA.
Los puertos HDMI de 19 pines incluyen: 4 canales diferenciales de datos, 5 conexiones a
tierra (GND), un pin para control de consumo eléctrico, un bus de dos hilos para datos que es
esencialmente un bus I2C, un detector de conexión activa, un pin de fuente de 5V con
capacidad de entregar hasta 50mA y un pin reservado. De todos estos pines solo están
conectados al FPGA los pines de: los canales diferenciales de datos y los pines de bus I2C.
Página 10 de 16
Para diseños EDK se puede utilizar el núcleo de propiedad intelectual (IP core) xps_tft para
controlar el puerto HDMI, ademas se debe incluir el controlador asociado al núcleo. El núcleo
xps_tft lee los datos de vídeo de la memoria DDR2 y los envía a puerto HDMI para que
pueda ser visualizado en un monitor externo. En el sitio web de DIGILENT hay un proyecto
que puede servir de referencia al usuario para comprender el funcionamiento del controlador
de los puertos HDMI, el proyecto consiste en una barra de color degradada en el monitor
conectado en el puerto HDMI. En otro diseño de referencia hay un ejemplo en donde una
señal de entrada es leída del puerto J3 y almacenada en la memoria DDR2, luego el dato de
la memoria DDR2 se presentada por el puerto J2. El nucleo xps_iic se incluyó para controlar
el DDC del puerto J2, esto permite que los monitores detecten a la ATLYS.
También hay un proyecto de referencia EDK en el sitio web de DIGILENT que sirve para
probar las características de grabación y reproducción de audio.
En la siguiente tabla se muestra las señales de control y de datos AC – 97. Todas las
señales son de tipo LVCMOS33.
Página 11 de 16
Nombre de la Pin del
Función del pin
Señal FPGA
Salida de reloj serial de 12.288MHz, es controlado por la
AUD – BIT – CLK L13
frecuencia del cristal de 24.576MHz
Entrada de datos seriales provenientes del FPGA al codec.
Los datos enviados por este terminal contienen la
AUD – SID T18 información para la configuración y los datos de la señal de
audio en formato de PCM. Los datos SDI son válidos en el
flanco de subida de la señal AUD – BIT – CLK
Salida de datos del codec hacia el FPGA. Los datos en el
pin SDO son enviados por el codec de audio al FPGA en los
AUD – SDO N16 cuales se transmite la configuración y datos de audio del
DAC. Los datos del SDO son válidos en el flanco de subida
de la señal de reloj AUD – BIT – CLK
La entrada de sincronización del codec de audio. Cada
trama dura 256 periodos de la señal AUD – BIT – CLK.
SYNC es normalmente un pulso de 48KHz con un ciclo de
trabajo de 6.25% (16/256). La señal SYNC es muestreada
durante el flanco de subida de AUD – BIT – CLK y el codec
toma la primera muestra correcta de la señal de
AUD – SYNC U17
sincronización como la orden de inicio de una nueva trama.
Si un pulso de sincronización se produce durante los
siguientes 255 periodos AUD – BIT – CLK será ignorado. El
terminal SYNC es utilizado como entrada para un reset en
caliente. El reset en caliente se utiliza para limpiar un estado
apagado en el códec.
Restablecimiento en Frio. Esta señal es bajo activa provoca
un RESET de hardware que restaura todos los registros y
configuraciones a sus valores por defecto. El RESET se
AUD – RESET T17
debe aplicar una vez que las fuentes se han establecido.
Mientras la señal de RESET este activa la entrada llamada
PC_BEEP se transferida a la salida LINE_OUT.
La ATLYS contiene un oscilador de 100MHz conectado al pin L15 (la cual es una entrada de
reloj del banco 1). Esta entrada de reloj puede ser conectada a cualquier controlador de reloj
de SPARTAN-6. Cada controlador cuenta con 2 administradores digitales de reloj (DCMs) y 4
lazos seguidores de fase (PLLs).
Los administradores digitales de reloj proveen señales con cuatro posibles fases, las cuales
son: 0º, 90º, 180º y 270º. También dispone de divisores de reloj por valor entre 2 y 16, y
también por 1.5, 2.5, 3.5 hasta 7.5 y dos salidas de reloj desfasadas que pueden ser
Página 12 de 16
multiplicadas por un valor entero entre 2 y 32, y dividirse de forma simultánea por valores
enteros de 1 a 32.
Los Lazos seguidores de fases (PLLs) y los osciladores controlados de voltaje (VCOs) se
pueden programar para generar frecuencias en el rango de 400MHz a 1080MHz mediante la
configuración de tres conjuntos de divisores programables en el momento de la configuración
del FPGA. Las salidas del oscilador controlado por voltaje (VCO) tiene ocho salidas
desfasadas entre si con valores de: 0º, 45º, 90º, 135º, 180º, 225º, 270º y 315º, y se puede
dividir por valores enteros entre 1 y 128.
Las características de HUB actualmente no están habilitadas, por lo cual solo se puede
conectar un dispositivo y no varios. El microcontrolador se comunica con el FPGA por medio
de un protocolo seria de 2 hilos que da soporte al protocolo PS/2 para que el FPGA vea a el
teclado o mouse como dispositivos directamente conectados, el firmware instalado en el
microcontrolador es transparente para el usuario.
Página 13 de 16
Dos pines del microcontrolador están conectados a los pines de programación del FPGA, lo
implica que el FPGA se puede configurar desde una memoria USB conectada al puerto USB
J13. Cuando se produce un POWER – RESET el microcontrolador verifica si hay una
memoria USB conectado al puerto J13 y si esta memoria contiene un archivo valido en su
directorio raíz; si todo es válido el microcontrolador procederá a configurar el FPGA con los
datos almacenados en el archivo de la memoria para que la configuración se realice d e una
forma correcta solo debe haber un archivo valido en la memoria, si hay más de un archivo el
microcontrolador no iniciara el proceso de configuración. El archivo de configuración debe
tener formato .bit para que pueda ser leído por el microcontrolador.
Página 14 de 16
3.12. Entradas y salidas básicas
Una de las ventajas de contar con unas tarjetas de desarrollo es contar con hardware
disponible para hacer pruebas y la ATLYS cuenta con una serie de dispositivos para este fin,
entre los cuales podemos mencionar: 6 botones pulsadores, 8 interruptores y 8 led. Estos
dispositivos tienen la finalidad de ofrecer al usuario la posibilidad de hacer pruebas a sus
diseños fácilmente. Además, hay un botón pulsador de color rojo el cual está destinado para
la función de reset del FPGA, en la tarjeta tiene una etiqueta que dice: "RESET". Los botones
pulsadores y los interruptores esta conectados al FPGA por medio de una resistencia para
evitar posibles cortocircuitos accidentales y los leds están en una configuración de cátodos
comunes y en los ánodos tienen conectado en serie una resistencia de 390 ohm que se
conecta al FPGA, por lo general la corriente que circula por los LED cuando están
encendidos es de aproximadamente 1mA.
4. TRABAJO PREVIO
b. Realizar una comparativa entre las diferentes tarjetas que utilizan una tecnología similar,
tales como: Pegasus 2, Spartan 3E, Nexys 2, Atlys Spartan 6.
Nota: Consigne sus resultados en un informe.
5. EVALUACIÓN
6. BIBLIOGRAFÍA
Atlys Spartan-6 FPGA Development Board - Lógica Programable. (n.d.). Retrieved March 6,
2018, from https://sites.google.com/site/logicaprogramable/calculadoras/fpga/digilent---
atlys-spartan-6-fpga-development-board
Castedo, L. (n.d.). Prácticas De Microelectrónica. Madrid: Universidad Politécnica De Madrid.
Microelectrónica – Lab01, Reconocimiento De La Tarjeta Atlys Spartan 6
(© Ángelo Joseph Soto Vergel)
Página 15 de 16
Retrieved from
http://www.elai.upm.es/webantigua/spain/Asignaturas/uElectronica/archivos/pue.pdf
Rangel Magdaleno, J. de J., & Romero Troncoso, R. de J. (2006). Manual De Prácticas -
Electrónica Digital II. México: Universidad De Guanajuato. Retrieved from
http://www.hspdigital.org/Documentos/HSP/EDII/LabED-II.pdf
Reyes Barranca, M. A., Arellano Cárdenas, O., & Flores Nava, L. M. (2014). Electrónica
Digital - Prácticas De Laboratorio. Madrid: Universidad Politécnica De Madrid. Retrieved
from http://www.vlsilab.cinvestav.mx/files/Practicas_Spartan_6.pdf
Página 16 de 16