Sie sind auf Seite 1von 5

Curso de diseo de FPGA Xilinx

Spartan-6 en VHDL
Dominar lel lenguaje VHDL y la metodologia de diseo.
Aumentar su productividad usando las technicas adecuadas para fiabilidad y
obtencion de los resultados deseados.

Este curso de 4,5 dias se basa en presentaciones de tecnicas de diseo de FPGA Xilinx Spartan- en
VHDL, insistiendo en los aspectos fiabilidad y optimizacion del tiempo de diseo, depuracion, asi
como el estilo de escritura del codigo para resultados optimizados. Se insistira particularmente en los
aspectos siguientes :
- Fiabilidad del diseo
- Portabilidad y genericidad
- Optimizacion en frecuencia de funcionamiento
- Optimizacion en terminos de cantidad de recursos usados
Una parte importante del curso sera dedicada a la implementacion de diseos de ejemplo y a la
metodologa de verificacin.
Despues de un analisis detallado de los puntos importantes lenguaje VHDL y de la arquitectura
de las FPGAs Spartan-6, Virtex-6 y series 7se analizaran las distintas opciones de las
herramientas de implementacion ISE 13 asi como los ditintos tipos de restricciones y herramientas
complementarias de analisis de timing (Timing Analyzer), analisis de implementacion (FPGA Editor)
y el imprescindible PlanAhead, potente herramienta de analisis de colocacion/timing y de generacion
de restricciones.
Las practicas se haran por grupos de 2 participantes en cada ordenador.

No obstante, los participantes estn invitados en traer su propio laptop, con el WebPack ISE
13.2 o 13.3 instalado, y con la debida licencia de uso (gratis ver en www.xilinx.com), asi como
una versin de evaluacin de ChipScope.

Se entregaran todos los codigos fuentes de los distintos proyectos a los participantes en una memoria
USB, con la documentacin en formato PDF.

Requisitos
Buen conocimento de la sintaxis del lenguaje VHDL para sntesis y simulacin
Manejo bsico de la herramienta ISE (en versin 11, 12 o 13)
Experiencia minima en uso de FPGAs

Equipamiento y software usados durante el curso :


Requisitos computadoras (Windows XP or Windows 7, 4 GB de memoria, espacio de 1
GB libre en el disco duro despus de la instalacin de las herramientas de software)
WebPack 13.2 instalado y funcional (con licencia gratis)
ChipScope versin evaluacin
Placas de evaluacin Xilinx - Spartan

Objetivos
Uso del lenguaje de descripcin de hardware (VHDL) optimizado para las arquitecturas FPGA
y para Simulacin.
Proporcionar a los asistentes una base solida de las arquitecturas FPGA Xilinx Spartan-6 y
sus herramientas de implementacion/depuracion.
Comprehender la relacin entre el lenguaje de descripcin de hardware y su correspondiente
implementacin fsica.
Aplicacin de una metodologa de diseo para reducir los ciclos de diseo/verificacin y
obtener resultados en el menor plazo posible con diseos robustos.
Entender el flujo de compilacin ISE 13 asi como sus herramientas de depuracin (Timing
Analyzer), opciones de implementacion y restricciones de timing/colocacion usando
PlanAhead.
Manejo del simulador ISIM y generacion de testbenches eficientes.

Puntos destacados del temario :

v Lenguaje VHDL para sntesis


Fundamentos del lenguaje como usar VHDL sin caer en las trampas
Operadores, tipos predefinidos y tipos del usuario.
Instrucciones concurrentes y secuenciales
Seales y variables
Estilo de escritura del cdigo VHDL optimizado para sntesis.
Cdigo genrico
Discrepancias entre la sintesis y la simulacion como evitarlas

v Lenguaje VHDL para simulacion


Nociones de testbench e instrucciones adicionales para la simulacion
Operaciones de conversion de datos
Acceso en lectura y escritura a archivos ASCII Vectores de test

v Informaciones generales sobre las arquitecturas de las FPGA Xilinx


Informaciones generales sobre las arquitecturas de las FPGA Xilinx
Recordatorio sobre las arquitecturas Spartan-3 y Virtex-4
Inovaciones arquitecturales en el slice de las familias Spartan-6, Virtex-6 y Series-7
Red de distribucion de relojes
o BUFG
o BUFIO & BUFIO2FB
o BUFPLL
Dispositivos de gestion de reloges
o DCM
o PLL
Estructura de los bloques de entrada-salida
o Fliop-flops de IOs
o Modos DDR y SDR
o ISERDES2, OSERDES2 y generacion/distribucion de relojes rapidos (1GHz+)
Bloques de RAM Spartan-6 y Virtex-6/Series-7
Bloques DSP48 Spartan-6 y Virtex-6/Series-7

v Recomendaciones en cuanto a la metodologia de diseo digital


Diseos multi relojes
Metodologia de Reset precauciones importantes
Simulacion y uso eficiente del Timing Analyzer
Nocions de pipeline para incrementar las frecuencias de trabajo
Restricciones de timing
v Consejos para escritura del codigo VHDL
Consejos generales para un codigo valido, independiente de la herramienta de sintesis
Diferencias de interpretacion de varias construcciones VHDL entre sintesis y simulacion
Construcciones elegantes y eficientes frecuentemente utiles
Ejemplos de inferencia para funciones importantes
o Memoria distribuida simple y doble puerto
o Registros de desplazamientos compactos (SRL)
o Inferencia de bloques de RAM en configuracion basica
o Codigo de inferencia de bloques de RAM en modo doble puerto y configuracion
diferente de los dos puertos de acceso
o Ejemplos de inferencia de blocs DSP48 para funciones frecuentemente usadas

v Opciones, restricciones y atributos de sintesis


Analisis de las opciones mas importantes sintesis, Translate, Map y Par
Principales restricciones de timing, y uso del Timing Analyzer
Atributos de sintesis para optimizacion y predictabilidad de resultados
Restricciones para colocacin de los IO (PlanAhead).
Uso eficiente del FPGA Editor

Las practicas incluyen :


Ejemplos sencillos poniendo en evidencia el incremento de potencia y flexibilidad de los
sclices
o funciones logicas y flip flops
o MUXF7, MUXF8
o funciones aritmeticas de 2 o 3 operandos
o memoria single port preinicializadas
o memoria dual port and quad port
o modos SRL (shift register)
Uso de DCM y PLL
ISERDES y OSERDES, modos SDR y DDR, salidas single ended o diferenciales
Ejemplo de uso de bloques de RAM en distintos modos (single/dual port)

v Fundamentos de tratamiento digital de seal


Nociones de aritmetica e implementacion hardware
Aritmetica sin signo
Aritmetica con signo y complemento a dos
Reglas VHDL para descripcion de funciones aritmeticas
Suma, resta, multiplicacion
Numeros fraccionales y nocion de coma fija
Nocions de troncacion y de redondeo. Implementacion en VHDL
Nociones de saturacion ejemplos concretos

v Filtros FIR
Estructuras secuenciales y paralelas
Nocion de dinamica redondeo saturacion
Ejemplo de filtro MAC (multiplicador - acumulador)
Como combinar eficientemente las funciones SRL, memoria distribuida y los bloques
DSP48
Aprovechar la simetria de los coeficientes sacando provecho de las arquitecturas de la
estructura de las FPGA Spartan-6, Virtex-6 y Series-7
Ejemplos de filtros usando de multiples Multiplicadores-Acumuladores
Entender la secuencia de operaciones para poder optimizar el numero de recursos
usados mientras se incrementa la frecuencia de trabajo reduciendo el consumo
Ejemplos concretos en VHDL y analisis de tecnicas complementarias
Filtros paralelos a base de bloques DSP48
Estructura en arbol de sumadores
Estructura Transpose : sacar un mejor provecho de las arquitecturas para aumentas las
prestaciones con un codigo VHDL fuente simplificado
Estructura de filtro sistolico para frecuencias de trabajo aun mas elevadas
Aprovechando la simetria de coeficientes en un filtro sistolico
Simetria de coeficientes en la estructura de filtro Transpose
Filtros paralelos a base de slices
Descomposicion de la estructura de un filtro en un conjunto de sumadores y restadores
Traduccion en codigo VHDL : implementacion de un filtro FIR paralelo en Spartan6 de N
Taps 100 MHz en cdigo fuente comportemental y evolutivo de una poquitas lineas
Mejoras posibles : retiming y otras consideraciones
Nociones de filtros multi-rate
Interpolacion y organizacion en filtros polyphase
Ejemplo VHDL
Decimacion y organisacion en filtro polyphase
Consejos para aprovechar la symetria
Ejemplo de filtro interpolador HalfBand
Analisis del codigo fuente VHDL
Implementacion de NCOs y modulacion/demodulacion
Generacion de un NCO aprovechando la simetria de los cuatro cuartos de la tabla de
sinus/cosinus
Aprovechar la arquitectura de los bloques de RAM para une implementacion mas efficaz
Nociones de modulacion de una signal compleja : I x Sin + Q x Cos, combinando dos
bloques DSP y aprovechando sus conexiones directas para reducir el consumo mientras
alcanzado mayores frecuencias de trabajo
Implementacion del redondeo sin usar recursos adicionales
Caso de un Up Converter en Spartan-6 para un DAC 16 bits @1GHz
Filtro interpolador por 8 (de 125 MHz a 1 GHz) implementado con slices
Modulacion en una frecuencia de portadora entre 0 et 500 MHz
Uso eficiente de los recursos de generacion/distribucion de relojes
Usar los OSERDES para comunicacion con el DAC 16 bits @1GHz
Nociones de FFT (segun tiempo disponible)
diferentes modos posibles de implementacion segn las prestaciones requeridas
Estimacion des frecuencias de trabajo y recursos asociados
Uso de la herramienta Xilinx CoreGen
Otras funciones DSP
Histograma
Fechas y horario :

Del Lunes 12 al Viernes 16 de Marzo


Horario : de 9h a 13 y de 14h a 18h de Lunes a Jueves
De 9h a 13h el Viernes

Almuerzo entre 13h y 14h incluido en el precio

Direccion :
Queretaro (TBD)

Hoteles a proximidad :
(TBD)

Inscripciones :

FUMEC
Coordenadas (email, telfono e instrucciones)
(TBD)

MVD es centro oficial de training para los siguientes fabricantes : ARM, Freescale, Xilinx

Tambien ofrecemos una amplia gama de cursos de hardware/software para aplicaciones


embebidas

- Para informacion sobre otros cursos, servicios de consultoria FPGA o cores


desarrollados por MVD, consultar : www.mvd-fpga.com
- Pagina en Espaol : Iberia & America Latina

Das könnte Ihnen auch gefallen