Diseño Digital Con FPGA

download Diseño Digital Con FPGA

of 40

description

introduccion al diseño digital con FPGA

Transcript of 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]