Download - Diseño Digital Con FPGA
-
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
-
Introduccin
Circuitos Digitales
FPGAs
Flujo y Herramientas de Diseo
Diseo para Sntesis
Simulacin
Ejemplos
Temario
-
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 mediaInterconexin 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 SincrnicoEl 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 SincrnicoEl diseo queda como a interconexin elementos sincrnicos (flip-flops) y combinacionales.
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
Logica de Proximo Estado
A
l
m
a
c
e
n
a
m
i
e
n
t
o
(
R
e
g
i
s
t
r
o
s
)
E
n
t
r
a
d
a
s
Logica de
Salida Sa
l
i
d
a
s
Estado Actual
EstadoSiguiente
Reloj
A
l
m
a
c
e
n
a
m
i
e
n
t
o
(
R
e
g
i
s
t
r
o
s
)
-
Circuitos digitales
ResumenPara 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
Entradas
Salida
Tablaconfigurable(memoria condatos pre-definidosen operacin)
-
FPGAs
Elemento lgico secuencial Ejemplo: Flip flops o latch con set-reset-
enable configurablePOSIBLE 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 sonjerrquicas para darmas flexibilidad yvelocidad
-
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
Logica de Proximo Estado
A
l
m
a
c
e
n
a
m
i
e
n
t
o
(
R
e
g
i
s
t
r
o
s
)
E
n
t
r
a
d
a
s
Logica de
Salida Sa
l
i
d
a
s
Estado Actual
EstadoSiguiente
Reloj
A
l
m
a
c
e
n
a
m
i
e
n
t
o
(
R
e
g
i
s
t
r
o
s
)
Representacion grafica del comportamiento del bloque EjemploFSM
InicialSalida = 001
Estado1Salida = 010
Estado2Salida = 011
Estado3Salida = 100
Estado4Salida = 111
Entrada1=1'Entrada2=0'
Entrada1=1'Entrada2=1'
Entrada1=0'Entrada2=x'
Entrada1=1'Entrada2=x'
Entrada1=0'Entrada2=x'
Entrada1=x'Entrada2=0'
Entrada1=x'Entrada2=1'
Entrada1=x'Entrada2=x
Entrada1=x'Entrada2=x
-
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 parala 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 implementaciny conexionado
Estimacin de retardos incluyendointerconexiones
-
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 [email protected] www.emtech.com.ar
Tambin: www.fpga.com.ar [email protected]