Está en la página 1de 40

Introducción al Diseño

Digital con FPGAs

www.emtech.com.ar
Temario del curso

Dia 1: Introducción y ejemplo practico


paso a paso
Dia 2: VHDL, flujo de diseño y otro
ejemplo
Dia 3: Detalles de diseño e
implementacion y otro ejemplo mas
Kits usados

EmTech 3PA1
FPGA usadas
Actel
Temario

 Introducción
 Circuitos Digitales
 FPGAs
 Flujo y Herramientas de Diseño
 Diseño para Síntesis
 Simulación
 Ejemplos
Introducción

Sistemas electrónicos digitales


 Representación de datos mediante dos niveles de señal
(tensión, corriente, carga,...)
 La tecnología esconde los efectos “analógicos” del circuito
 Permiten aplicar técnicas de análisis y diseño especiales
Introducción

Análisis: comprender la función que cumple un


circuito. La tarea de analizar el comportamiento
de un circuito y describirlo de manera formal.

Síntesis: proceso inverso al análisis. Pasar de


una descripción abstracta a un circuito funcional

Diseño: diferente significado para distintas


personas. La creación del modelo formal que
puede usarse para sintetizar un circuito
(diagramas, formas de onda, tablas, etc.).
Circuitos Digitales
 Elementos básicos de circuitos
digitales
 Cómo lograr la misma funcionalidad
con lógica configurable
Circuitos digitales

Elementos básicos combinacionales


 Inversor y compuertas
Circuitos digitales

Elementos básicos secuenciales


Circuitos digitales

Circuitos de integración media


Interconexión de varios elementos básicos 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

Diseño Sincrónico
El problema de diseño y análisis 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 diseño de un circuito “con ritmo”


Circuitos digitales

Diseño Sincrónico
El diseño queda como a interconexión elementos
sincrónicos (flip-flops) y combinacionales.

Almacenamiento

Almacenamiento

Salidas
Logica de Logica

(Registros)

(Registros)
Entradas

Proximo de
Estado Estado Estado Salida
Siguiente Actual

Reloj

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


del circuito
 Frecuencia de operación máxima: dada por retardos de
propagación de la lógica
Circuitos digitales

Resumen
 Para implementar circuitos digitales:
 Lógica combinacional
 Elementos secuenciales
 Interconexiones
 Para automatizar la implementación:
 Estructura regular y diseño sincrónico
 Librerías de bloques básicos llamados primitivas,
equivalentes a lógica de integración media
FPGAs
 Elementos lógicos
 Interconexiones
 Bloques de entrada-salida
 Elementos especiales
FPGAs

 Elemento lógico combinacional básico


 Ejemplo: Memoria usada como tabla de
entrada-salida o Look-Up Table (LUT)
LUT
Tabla
configurable
(memoria con
datos pre-definidos Salida
en operación)

Entradas
FPGAs

 Elemento lógico secuencial


 Ejemplo: Flip flops o latch con set-reset-
enable configurable
POSIBLE ELEMENTO CONFIGURABLE FLASH SWITCH DE
ACTEL PROASIC3
FPGAs

Otra opción: Versatile: celda de Actel PA3


FPGAs

 Distribución de celdas Actel ProAsic3


FPGAs

 Interconexiones
 Mediante llaves
pueden conectarse
diferentes señales
entre sí.
 Las conexiones son
jerárquicas para dar
mas flexibilidad y
velocidad
FPGAs

 Bloque de  Distribución
entrada salida de reloj
FPGAs

 Control de reloj  Memorias

 Bloques DSP
Flujo y Herramientas
de Diseño

 Flujo de Diseño General


 Definición del circuito
 Simulación y Verificación
 Síntesis y Place & Route
Herramientas

Flujo de diseño
 Descripción
del diseño
 Simulación
ó
 Síntesis
Diseño

Uso de diagramas esquemáticos (Libero)


 Primitivas o nuevos elementos
Diseño
Descripción mediante lenguajes de
descripción de hardware (VHDL - Verilog)
Diseño

Uso de diagramas esquemáticos (HDL Designer)


Diseño

Representación de máquinas de estado


Representacion grafica del comportamiento del bloque EjemploFSM

Entrada1=’0'
Entrada2=’x'

Inicial
Salida = “001”
Entrada1=’1'
Entrada2=’x'
Almacenamiento

Almacenamiento

Entrada1=’x'
Logica de Logica Salidas
(Registros)

(Registros)

Entrada2=’x
Entradas

Proximo de
Estado Estado Salida
Estado
Actual Entrada1=’0' Estado1
Siguiente Estado4 Entrada2=’x' Salida = “010”
Salida = “111”

Entrada1=’x' Entrada1=’1' Entrada1=’1'


Reloj Entrada2=’0' Entrada2=’1' Entrada2=’0'
Entrada1=’x'
Entrada2=’1'

Estado2
Estado3
Entrada1=’x' Salida = “011”
Salida = “100”
Entrada2=’x
Diseño

Representación de máquinas de estado


(HDL Designer de Mentor Graphics)
Herramientas

Todo (diagramas, esquemáticos, etc) se


traduce a un HDL
 La descripción a
nivel RTL es la
entrada para
la síntesis
y simulación
Simulación

 Se deben crear bancos de prueba para poder


estimular las entradas al diseño (DUT)
 Vectores de test
 En el banco de prueba (testbench) se permite
usar HDL no-sintetizable
 El código fuente (HDL se compila para poder
ejecutarlo sobre la plataforma de simulación)
Simulación

Banco de prueba: permite simular las entradas


reales al sistema, el hardware accesorio y en
algunos casos monitorea las salidas
Simulación

Simplifica el proceso de puesta en marcha


 Visualización de formas de onda para debug
Implementación
Síntesis

Transforma la descripción en el circuito real


a implementar
 Esquema de
interconexión
de primitivas
 Estimación de
retardos inicial
Place and Route

Coloca cada primitiva en un lugar de la


FPGA y la interconecta
 Esquema físico
de implementación
y conexionado
 Estimación de
retardos incluyendo
interconexiones
Place and Route

Resultado de colocar y conectar cada


componente
Configuración

Depende de la FPGA y la tecnología


 Puerto JTAG permite acceder a diferentes
dispositivos y configurarlos
Ejemplo.
Vamos a hacer titilar
un LED! Wow.
Contacto

Guillermo Güichal
EmTech
info@emtech.com.ar
www.emtech.com.ar

También: www.fpga.com.ar
info@fpga.com.ar

También podría gustarte