vhdl y fpgas

Upload: oscarmit

Post on 16-Feb-2018

238 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 VHDL y FPGAs

    1/33

    Introduccin a VHDL

    Sistemas digitales

    UTM-2006

    JJVS

  • 7/23/2019 VHDL y FPGAs

    2/33

    Surgimiento de VHDL Necesidad de nuevos mtodos ya que los clsicos

    (esquemticos), llegan a ser ineficientes en diseos de altasescalas de integracin.

    El diseo con ecuaciones Booleanas requiere de la escriturade una ecuacin por cada flip-flop, es imprctico para

    circuitos con cientos de estos. Necesidad de compartir informacin entre integrantes y

    equipos de un proyecto.

    Necesidad de reutilizar mdulos que ya han sido

    desarrollados, depurados y probados. Necesidad de tener un lenguaje portable a diversos

    fabricantes.

    Tener un lenguaje estructurado para modelar, simular ysintetizar circuitos digitales.

  • 7/23/2019 VHDL y FPGAs

    3/33

    Qu es VHDL? VHDL es un lenguaje de descripcin de hardware estandarizado por la

    IEEE (1076-93).

    Es un acrnimo: V se toma por Very High Speed Integrated Circuit (Circuito Integrado de muy alta velocidad ), y HDL significa Lenguajepara la Descripcin de Hardware.

    Trmino acuado por el DoD (Department of Defense) de USA, quienesfueron los primeros en usarlo para: Documentacin, modelado ysimulacin de dispositivos electrnicos.

    Los simuladores de VHDL surgen en los 90s.

    VHDL no fue creado para sntesis, esta propiedad se le agreg al buscarformas que ayuden a automatizar los procesos de diseo.

  • 7/23/2019 VHDL y FPGAs

    4/33

    Lenguajes de descripcin de Hardware

    VHDL. Verilog (Cadence).

    ABEL.

    CUPL. PALASM.

    AHDL (Altera Hardware Descripcion Lenguaje)

    Handel-C (Celoxica)

    System-C (Synopsys)

  • 7/23/2019 VHDL y FPGAs

    5/33

    Historia de VHDL

    Desarrollado en los 80s por el departamentode defensa de los EU.

    Adoptado como estndar por la IEEE en

    1987.

    Revisado por la IEEE en 1993.

  • 7/23/2019 VHDL y FPGAs

    6/33

    Similitudes y diferencias con otroslenguajes

    Similitudes VHDL es un lenguaje estructurado

    Reutilizacin de mdulos

    Portable

    Diferencias En VHDL la informacin temporal es explicita

    Los comandos no siempre son procesados

    secuencialmente VHDL no se compila en un ejecutable, sino que se sinttiza

    en un circuito digital.

  • 7/23/2019 VHDL y FPGAs

    7/33

    Ventajas de VHDL para el diseodigital

    Lenguaje estandarizado.

    Permite el diseo modular y jerrquico de

    sistemas electrnicos.

    VHDL permite el paralelismo.

    Permite incluir diferentes niveles deabstraccin al describir un diseo digital.

  • 7/23/2019 VHDL y FPGAs

    8/33

    Metodologas de diseo

    Ascendente Se inicia con componentes simples que permiten formar

    componentes cada vez ms complejos hasta llegar al

    sistema final.

    Descendente

    Se especifica y prueba el sistema con herramientas de alto

    nivel de abstraccin y posteriormente se van definiendo e

    implementando los niveles inferiores hasta llegar a un

    nivel de componente.

  • 7/23/2019 VHDL y FPGAs

    9/33

    ESTRUCTURA

    SISTEMA

    CHIPS

    REGISTROS

    COMPUERTAS

    CIRCUITOS

    SILICIO

    COMPORTAMIENTO

    No existeObjetos Geomtricos

    Ecuaciones diferencialesTransistores, R, L, C

    Ecuaciones booleanasCompuertas, Flip-Flops

    Tablas de transicin de estados,Tablas de verdad

    Registros, multiplexores, ALUs

    Algoritmos, micro-operaciones

    Respuesta I/O

    Procesadores, memorias,

    dispositivos I/O

    Especificacin del rendimientoBloques funcionales con elementos no-

    Digitales, o incluso que no son elctricos

    Niveles de descripcin de sistemas

  • 7/23/2019 VHDL y FPGAs

    10/33

    Dispositivos FPGA

    Logic

    Programmable

    Logic

    Devices (PLDs)

    Gate ArraysCell-Based

    ICs

    Full Custom

    ICs

    Standard

    Logic

    ASIC

    Aplicattion

    Specific ICs

    SPLDs

    (PALs)

    80s

    CPLDs

    90 -

    FPGAs

    90 -

  • 7/23/2019 VHDL y FPGAs

    11/33

    FPGA (Field Programmable GateArray) Un FPGA es un Arreglo de Compuertas Programable en Campo (Field

    Programmable Logic Device)

    Son dispositivos programables que estn construidos con base en unamatriz de bloques lgicos configurables (CLB)

    En cada CLB es posible desarrollar una funcin lgica independiente

    Entre los diferentes CLBs existen lneas de interconexin de diferentestamaos que tambin son configurables

    Alrededor de la matriz se encuentran bloques de entrada y salida (IOB)que tambin son configurables

  • 7/23/2019 VHDL y FPGAs

    12/33

    Categorias de FPGAs

    Basados en SRAM.

    Xilinx

    Altera

    Basados en antifusibles.

    Actel,

    Quicklogic Cypress

    Xilinx (8100)

  • 7/23/2019 VHDL y FPGAs

    13/33

    FPGA

    CLB

    CLB

    CLB

    CLB

    Switch

    Matrix

    ProgrammableInterconnect

    I/O Blocks (IOBs)

    ConfigurableLogic Blocks (CLBs)

    D Q

    SlewRate

    Control

    PassivePull-Up,

    Pull-Down

    Delay

    Vcc

    Output

    Buffer

    Input

    BufferQ D

    Pad

    D Q

    SD

    RD

    EC

    S/R

    Control

    D Q

    SD

    RD

    EC

    S/R

    Control

    1

    1

    F'

    G'

    H'

    DIN

    F'

    G'

    H'

    DIN

    F'

    G'

    H'

    H'

    HFunc.Gen.

    GFunc.Gen.

    FFunc.Gen.

    G4G3G2G1

    F4F3F2F1

    C4C1 C2 C3

    K

    Y

    X

    H1 DIN S/R EC

    XC4000

    2000-15000 compuertas

  • 7/23/2019 VHDL y FPGAs

    14/33

    CLB de un FPGA (Xilinx)

    Basado en LUTs

  • 7/23/2019 VHDL y FPGAs

    15/33

    CLB de un FPGA (Xilinx)

  • 7/23/2019 VHDL y FPGAs

    16/33

    IOB de un FPGA

  • 7/23/2019 VHDL y FPGAs

    17/33

    Unidad de interconexiones (Xilinx)

  • 7/23/2019 VHDL y FPGAs

    18/33

    Interior delFPGA

  • 7/23/2019 VHDL y FPGAs

    19/33

    Fabricantes de FPGAs

    ( http://www.xilinx.com )

    ( http://www.altera.com )

    ( http://www.latticesemi.com )

  • 7/23/2019 VHDL y FPGAs

    20/33

    Spartan Series

    Spartan / XL

    Spartan-II

    Spartan-IIE Spartan-3

    Spartan-3E

    Spartan-3L

    Familias de FPGAs de Xilinx

    Virtex Series

    Virtex / E / EM

    Virtex II

    Virtex II PRO / X

    Virtex-4

    Virtex-5

  • 7/23/2019 VHDL y FPGAs

    21/33

    Spartan Series

    3.3V25Kb22440KSpartan-XL

    3.3V - 1.5V456Kb284200KSpartan-II

    3.3V - 1.5V4288Kb514600KSpartan-IIE

    3.3V - 1.2V496 18x181728Kb6334MSpartan-3L

    3.3V - 1.2V4104 18x181872Kb7845MSpartan-3

    3.3V - 1.2V836 18x18648Kb3761.6MSpartan-3E

    VoltageDCMEmbedded

    Multipliers

    Block

    RAMI/OsGatesSpartan Family

    3.3V25Kb22440KSpartan-XL

    3.3V - 1.5V456Kb284200KSpartan-II

    3.3V - 1.5V4288Kb514600KSpartan-IIE

    3.3V - 1.2V496 18x181728Kb6334MSpartan-3L

    3.3V - 1.2V4104 18x181872Kb7845MSpartan-3

    3.3V - 1.2V836 18x18648Kb3761.6MSpartan-3E

    VoltageDCMEmbedded

    Multipliers

    Block

    RAMI/OsGatesSpartan Family

  • 7/23/2019 VHDL y FPGAs

    22/33

    Arquitectura de la familiaSpartan-3

  • 7/23/2019 VHDL y FPGAs

    23/33

    Atributos de la familiaSpartan-3

    Notes:

    1. Logic Cell = 4-input Look-Up Table (LUT) de 4 entradas mas un flip-flop D. "EquivalentLogic Cells" es igual a "Total CLBs" x 8 Logic Cells.

    2. Estos productos estn disponibles en versiones de alta temperatura.

  • 7/23/2019 VHDL y FPGAs

    24/33

    IOBsSpartan-3

    Hay 3 rutas principales :

    Entrada Salida Tres estados

  • 7/23/2019 VHDL y FPGAs

    25/33

    Un CLB contiene 4 slices

    Los CLBs (Configurable Logic Blocks) constituyen losprincipales recursos lgicos para implementar circuitoscombinacionales o secuenciales sncronos.

  • 7/23/2019 VHDL y FPGAs

    26/33

    Interior de un slice Cada slice de un CLB tiene los siguientes elementos:

    Dos generadores de funciones lgicas

    Dos elementos de almacenamiento

    Multiplexores

    Hardware para acarreo lgico

    Compuertas para operaciones aritmticas

    Con estos elementos es posible implementar Funciones lgicas

    Funciones aritmticas

    Funciones ROM

    Adems, los slices de la mitad izquierda proporcionan dos funciones adicionales: Almacenamiento de datos usando RAM distribuida Desplazamiento de datos con registros de 16-bits

  • 7/23/2019 VHDL y FPGAs

    27/33

    Interiorde un

    slice

    1 CLB = 4 Slices

  • 7/23/2019 VHDL y FPGAs

    28/33

    Bloque RAM

  • 7/23/2019 VHDL y FPGAs

    29/33

    Bloque RAM

  • 7/23/2019 VHDL y FPGAs

    30/33

    Multiplicadores empotrados

  • 7/23/2019 VHDL y FPGAs

    31/33

    Administrador digital de reloj

  • 7/23/2019 VHDL y FPGAs

    32/33

    Lneas de interconexin

  • 7/23/2019 VHDL y FPGAs

    33/33

    Lneas de interconexin