Вы находитесь на странице: 1из 40

Introduccin al Diseo

Digital con FPGAs

www.emtech.com.ar

Temario del curso

Dia 1: Introduccin y ejemplo practico


paso a paso
Dia 2: VHDL, flujo de diseo y otro
ejemplo
Dia 3: Detalles de diseo e
implementacion y otro ejemplo mas

Kits usados
EmTech 3PA1

FPGA usadas
Actel

Temario
 Introduccin
 Circuitos Digitales
 FPGAs
 Flujo y Herramientas de Diseo
 Diseo para Sntesis
 Simulacin
 Ejemplos

Introduccin
Sistemas electrnicos digitales
 Representacin de datos mediante dos niveles de seal
(tensin, corriente, carga,...)
 La tecnologa esconde los efectos analgicos del circuito
 Permiten aplicar tcnicas de anlisis y diseo especiales

Introduccin
Anlisis: comprender la funcin que cumple un
circuito. La tarea de analizar el comportamiento
de un circuito y describirlo de manera formal.
Sntesis: proceso inverso al anlisis. Pasar de
una descripcin abstracta a un circuito funcional
Diseo: diferente significado para distintas
personas. La creacin del modelo formal que
puede usarse para sintetizar un circuito
(diagramas, formas de onda, tablas, etc.).

Circuitos Digitales
 Elementos bsicos de circuitos
digitales
 Cmo lograr la misma funcionalidad
con lgica configurable

Circuitos digitales
Elementos bsicos combinacionales
 Inversor y compuertas

Circuitos digitales
Elementos bsicos secuenciales

Circuitos digitales
Circuitos de integracin media
Interconexin de varios elementos bsicos para
formar funciones mas complejas
 Combinacionales: multiplexor, demux, codificadores,
decos, sumadores, etc.
 Secuenciales: registros de desplazamiento, contadores,
etc. (incluyen elementos secuenciales y comb.)

Circuitos digitales
Diseo Sincrnico
El problema de diseo y anlisis se simplifica mucho
si se usa un reloj que marca el ritmo de todo el
circuito.
Imaginemos una fila de gente que se pasa elementos una a otra al
ritmo de un tambor.
Qu pasa si ese ritmo no existe? Hay que coordinarse muy bien para
que no se caigan las cosas!
Es mucho mas simple automatizar el diseo de un circuito con ritmo

Circuitos digitales
Diseo Sincrnico

Estado
Actual

Salidas

Estado
Siguiente

Logica
de
Salida

Almacenamiento
(Registros)

Logica de
Proximo
Estado

Almacenamiento
(Registros)

Entradas

El diseo queda como a interconexin elementos


sincrnicos (flip-flops) y combinacionales.

Reloj

 Reloj marca el ritmo. Se distribuye a todos los Flip-Flops


del circuito
 Frecuencia de operacin mxima: dada por retardos de
propagacin de la lgica

Circuitos digitales
Resumen
 Para implementar circuitos digitales:
 Lgica combinacional
 Elementos secuenciales
 Interconexiones

 Para automatizar la implementacin:


 Estructura regular y diseo sincrnico
 Libreras de bloques bsicos llamados primitivas,
equivalentes a lgica de integracin media

FPGAs
 Elementos lgicos
 Interconexiones
 Bloques de entrada-salida
 Elementos especiales

FPGAs
 Elemento lgico combinacional bsico
 Ejemplo: Memoria usada como tabla de
entrada-salida o Look-Up Table (LUT)
LUT
Tabla
configurable
(memoria con
datos pre-definidos
en operacin)

Entradas

Salida

FPGAs
 Elemento lgico secuencial
 Ejemplo: Flip flops o latch con set-resetenable configurable
POSIBLE ELEMENTO CONFIGURABLE

FLASH SWITCH DE
ACTEL PROASIC3

FPGAs
Otra opcin: Versatile: celda de Actel PA3

FPGAs
 Distribucin de celdas Actel ProAsic3

FPGAs
 Interconexiones
 Mediante llaves
pueden conectarse
diferentes seales
entre s.
 Las conexiones son
jerrquicas para dar
mas flexibilidad y
velocidad

FPGAs
 Bloque de
entrada salida

 Distribucin
de reloj

FPGAs
 Control de reloj

 Memorias

 Bloques DSP

Flujo y Herramientas
de Diseo
 Flujo de Diseo General
 Definicin del circuito
 Simulacin y Verificacin
 Sntesis y Place & Route

Herramientas
Flujo de diseo
 Descripcin
del diseo
 Simulacin

 Sntesis

Diseo
Uso de diagramas esquemticos (Libero)
 Primitivas o nuevos elementos

Diseo
Descripcin mediante lenguajes de
descripcin de hardware (VHDL - Verilog)

Diseo
Uso de diagramas esquemticos (HDL Designer)

Diseo
Representacin de mquinas de estado
Representacion grafica del comportamiento del bloque EjemploFSM

Entrada1=0'
Entrada2=x'

Inicial
Salida = 001

Estado
Actual

Entrada1=x'
Entrada2=x

Salidas

Estado
Siguiente

Logica
de
Salida

Almacenamiento
(Registros)

Logica de
Proximo
Estado

Almacenamiento
(Registros)

Entradas

Entrada1=1'
Entrada2=x'

Estado4

Estado1

Entrada1=0'
Entrada2=x'

Salida = 010

Salida = 111

Entrada1=x'
Entrada2=0'

Reloj

Entrada1=1'
Entrada2=1'

Entrada1=x'
Entrada2=1'

Estado2

Estado3
Salida = 100

Entrada1=x'
Entrada2=x

Salida = 011

Entrada1=1'
Entrada2=0'

Diseo
Representacin de mquinas de estado
(HDL Designer de Mentor Graphics)

Herramientas
Todo (diagramas, esquemticos, etc) se
traduce a un HDL
 La descripcin a
nivel RTL es la
entrada para
la sntesis
y simulacin

Simulacin
 Se deben crear bancos de prueba para poder
estimular las entradas al diseo (DUT)
 Vectores de test
 En el banco de prueba (testbench) se permite
usar HDL no-sintetizable
 El cdigo fuente (HDL se compila para poder
ejecutarlo sobre la plataforma de simulacin)

Simulacin
Banco de prueba: permite simular las entradas
reales al sistema, el hardware accesorio y en
algunos casos monitorea las salidas

Simulacin
Simplifica el proceso de puesta en marcha
 Visualizacin de formas de onda para debug

Implementacin

Sntesis
Transforma la descripcin en el circuito real
a implementar
 Esquema de
interconexin
de primitivas
 Estimacin de
retardos inicial

Place and Route


Coloca cada primitiva en un lugar de la
FPGA y la interconecta
 Esquema fsico
de implementacin
y conexionado
 Estimacin de
retardos incluyendo
interconexiones

Place and Route


Resultado de colocar y conectar cada
componente

Configuracin
Depende de la FPGA y la tecnologa
 Puerto JTAG permite acceder a diferentes
dispositivos y configurarlos

Ejemplo.
Vamos a hacer titilar
un LED! Wow.

Contacto
Guillermo Gichal
EmTech
info@emtech.com.ar
www.emtech.com.ar
Tambin: www.fpga.com.ar
info@fpga.com.ar

Вам также может понравиться