introduccion al vhd

Upload: michael-izarra

Post on 09-Feb-2018

258 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/22/2019 Introduccion Al VHD

    1/53

    1

    Introduccin al VHDL

    Aplicaciones, construcciones,

    Sistemas Digitales

  • 7/22/2019 Introduccion Al VHD

    2/53

    Qu significa VHDL?VHDL=VHSIC + HDL.

    VHSIC =Very High SpeedIntegrated Circuit

    Circuitos Integrados de Muy Alta Velocidad

    HDL = Hardware Description Language

    Lenguaje de Descripcin de Hardware

    VHDL es un lenguaje textual de alto nivel que se utiliza para

    la descripcin del hardware de los sistemas digitales.

    Las herramientas CAD toman descripciones VHDL parasimular, sintetizar y verificar circuitos digitales.

    2

  • 7/22/2019 Introduccion Al VHD

    3/53

    Qu es VHDL?

    VHDL es un lenguaje estndar que se emplea para la documentacin,simulacin, sntesis y verificacin de sistemas digitales.

    Los lenguajes de descripcin de hardware, como VHDL, facilitan ladescripcin de circuitos integrados digitales complejos.

    Las herramientas CAD de Altera, Synopsys, Cadence, Esperan, Aldec,Xilinx entre otras, facilitan la entrada, sntesis, simulacin y verificacin dediseos digitales. En particular, MAX +plus II y QUARTUS de Alterasoporta entrada esquemtica, por formas de onda y tres HDLs : AHDL,

    Verilog HDL y VHDL. Las herramientas ms poderosas y costosas lasproveen Synopsys, Menthor y Cadence. Casi todas las compaas proveenalgun tipo de ayuda para que las instituciones acadmicas adquieran susherramientas.

    3

  • 7/22/2019 Introduccion Al VHD

    4/53

    Por qu VHDL?

    Lenguaje estndar.

    Soporte de las principales compaas proveedoras deherramientas CAD y EDA.

    Flexibilidad de implementacin en circuitos integrados: cdigoVHDL es portable entre herramientas, aunque normalmentees necesario hacer ajustes segn el dispositivo final.

    Es un lenguaje popular cuyo nmero de usuarios sigueaumentando.

    Ventajas Proceso de desarrollo ms confiable y automatizado

    Reduccin de costo y tiempo

    4

  • 7/22/2019 Introduccion Al VHD

    5/53

    VHDL: Orgenes y evolucin

    Desarrollado en los comienzos de los 80s como unmtodo para la descripcin de sistemas electrnicos para

    el Departamento de Defensa de EE.UU. Su sintxis essimilar al lenguaje de programacin Ada.

    Fue estandarizado en 1987, bajo la norma IEEE 1076. En1993 sali una revisin con algunas nuevas capacidades,

    manteniendo la compatibilidad con la norma original. Es utilizado ampliamente en la industria y academia.

    5

  • 7/22/2019 Introduccion Al VHD

    6/53

    Para qu sirve VHDL?

    Comienzos de los 90s: diseo de ASICs complejos, empleandoherramientas de sntesis.

    Mediados de los 90s: diseo con lgica programable.

    Se utiliza en la documentacin as como en la simulacin delsistema, y adems se emplea para sintetizar la parte hardwaredel sistema digital.

    Hoy se empieza a utilizar en el modelamiento deespecificaciones de todo el sistema, tanto la parte hardwarecomo la parte software. Las herramientas de sntesis permitenimplementar los circuitos sobre ASICs y FPLDs.

    6

  • 7/22/2019 Introduccion Al VHD

    7/53

    Limitaciones de VHDL

    No permite describir sistemas analgicos. Sin embargo, yase estn desarrollando versiones anlogas y mixtas.

    No existe un estilo de descripcin normalizado. Parasntesis se requiere ajustar los estilos disponibles a lacapacidad de las herramientas CAD.

    Es posible sintetizar lgica solo de un subconjunto dellenguaje. Las herramientas de sntesis no soportan losmismos subconjuntos, y existen a veces diferencias almudar de herramientas.

    7

  • 7/22/2019 Introduccion Al VHD

    8/53

    Niveles de Abstraccin

    La abstraccin define cuanto detalle debe ser descrito acercadel diseo.

    Existen cuatro niveles principales de abstraccin:

    Layout (Trazado): descripcin en el nivel geomtrico ofsico. Especifica la disposicin fsica de los dispositivos enel chip. Puede incluir informacin sobre temporizacin y

    efectos analgicos. Lgico: Especifica la conexin de puertas lgicas y registros.

    Informa detalladamente la funcin, arquitectura, tecnologay temporizacin.

    8

  • 7/22/2019 Introduccion Al VHD

    9/53

    Transferencia de Registros (RTL): Define cada registro en eldiseo y la lgica entre ellos. Contiene informacin de la

    arquitectura pero no detalla la tecnologa. No especifica losretardos de tiempo absolutos.

    Comportamental: Describe la funcin de un diseo sinespecificar la arquitectura de registros. Puede requerir

    informacin de tiempos de retardos. En VHDL se utilizan los estilos RTL y Comportamental

    9

    Niveles de Abstraccin

  • 7/22/2019 Introduccion Al VHD

    10/53

    Carta Y de Gajski & Kahn

    10

    Estructural

    Funcional

    Geomtrico

    Algoritmo

    Lenguaje RTL

    Ecuacin Booleana

    Ecuacin DiferencialTrazado de figuras

    Macroceldas

    Celdas estndares

    Plano de bloques

    ProcesadorRTL:ALU, regisro Puerta lgica, flipflop

    Transistor

    Mayor abstraccin Menor abstraccin

    Chip, PCP, MCM

    MicrocomputadorEspecificaciones

  • 7/22/2019 Introduccion Al VHD

    11/53

    Estilos RTL y Comportamental

    La mayora de las herramientas de sntesis requieren que el cdigo seexprese en el nivel RTL. En este nivel el diseador debe especificar laarquitectura de los registros y puertas en el diseo.

    Camino de datos (datapath) modelado estructuralmente. Las herramientas de sntesis comportamental generan

    automticamente el circuito en el nivel de puertas y flipflops a partir dela codificacin de un algoritmo. Seccin de control (i.e. mquinas de estados) descrito funcionalmente.

    La descripcin comportamental se emplea tambin para modelarestmulos y respuestas (testbenchs), documentar partes y detallar lasespecificaciones del hardware.

    NOTA: Algunos CADs permiten mezclar descripciones HDL con descripciones

    esquemticas.

    11

  • 7/22/2019 Introduccion Al VHD

    12/53

    Conceptos Fundamentales

    CONCURRENCIA => Actividades concurrentes son sucesosque ocurren en paralelo. En el hardware los eventos suelen

    disparar varios procesos al mismo tiempo. Modela la activacinde los bloques de un sistema digital, donde las seales sepresentan sobre las entradas de los bloques y producenresultados en las salidas

    ESTRUCTURA=> Ordenamiento de bloques en una jerarqua.Cada bloque se puede describir en estilo RTL, comportamentalo mixto.

    12

  • 7/22/2019 Introduccion Al VHD

    13/53

    Conceptos Fundamentales

    SECUENCIA => Las sentencias secuenciales se ejecutan unadespus de otra, como en lenguajes de software con un solomicroprocesador.

    TIEMPO => VHDL permite modelar el concepto de tiempo.Simulacin dirigida por eventos. Un evento es producido porun cambio en una seal en un determinado tiempo desimulacin. La respuesta de un modelo a un evento puedeprovocar nuevos eventos.

    13

  • 7/22/2019 Introduccion Al VHD

    14/53

    Entidad

    14

    Una entidad describe la interfaz del modelo, sin describir su

    comportamiento. Es equivalente a un smbolo de una

    descripcin esquemtica.

    La entidad (ENTITY) define los puertos de acceso

    (PORT) y parmetros (GENERIC) de un mdulo

  • 7/22/2019 Introduccion Al VHD

    15/53

    Arquitectura: Modelo del

    Comportamiento La arquitectura describe la implementacin de una entidad.

    Pueden haber varias arquitecturas por entidad.

    Modelamiento estructural Selaes internas

    Componentes

    Modelamiento funcional

    Procesos Sentencias secuenciales

    Asignaciones de seales

    Sentencias de espera

    15

  • 7/22/2019 Introduccion Al VHD

    16/53

    Jerarqua de un sumador completo

    16

  • 7/22/2019 Introduccion Al VHD

    17/53

    17

    Jerarqua de un sumador completo

  • 7/22/2019 Introduccion Al VHD

    18/53

    Procesos

    Un proceso define sentencias que se ejecutan en secuencia.

    Se define en la arquitectura.

    Una arquitectura puede contener ms de un proceso.

    Los procesos se comunican entre s concurrentemente.

    En un proceso pueden existir asignacin de variables, de seales, llamadas aprocedimientos, sentencias IF, sentencias CASE, y sentencias iterativas.

    Un simulador de VHDL observa los modelos como una coleccin deprocesos.

    18

    Configuracin

    Define la arquitectura para la entidad

  • 7/22/2019 Introduccion Al VHD

    19/53

    Tipos

    Cada seal en VHDL tiene asociado un tipo, que define unconjunto de valores y las operaciones soportadas.

    Tipos predefinidos:

    real, integer, bit, bir_vec

    Definidos por el usuario

    AMBAR, ROJO, VERDE

    LEE, ESCRIBE, LIMPIA, REINICIA

    19

  • 7/22/2019 Introduccion Al VHD

    20/53

    Paquetes

    En un paquete se colocan definiciones comunes paravarias entidades de diseo. Ello facilita el trabajo deequipos.

    Puede contener declaraciones de:

    Valores constantes

    Tipos definidos por el usuario

    Componentes Un Cuerpo de Paquete es otra unidad de diseo, que

    incluye subprogramas

    20

  • 7/22/2019 Introduccion Al VHD

    21/53

    Unidades de Diseo en VHDL

    21

    Entidad

    Arquitectura

    Paquete

    Configuracin

    Cuerpo de

    Paquete

  • 7/22/2019 Introduccion Al VHD

    22/53

    VHDL Metodologa de Diseo

    22

    Banco de Pruebas

    FPLD, ASIC

    Verificacin Rediseo

    Requerimientos Especificaciones

    Arquitectura

    Modelamiento

    RTL, Funcional

    Sntesis

    Modelo de Puertas

    Modelo de Retardos

    Ubicacin y Conexin

    Simulacin

    Simulacin

    Simulacin

  • 7/22/2019 Introduccion Al VHD

    23/53

    Metodologa de Diseo Digital

    Requerimientos

    Especificacin Diagrama de Flujo, HDL, tablas de verdad, ecuaciones, diagramas

    de estados

    Diseo de las partes Simulacin

    Implementacin TTL, FPLD, microprocesadores, ASICs

    Verificacin Depuracin

    Salida del producto

    Mantenimiento

    23

  • 7/22/2019 Introduccion Al VHD

    24/53

    Metodologa de Diseo con ALTERA

    24

    Compilador

    Simulador

    Analizadorde Retardos

    Programador

    ReportesEditor de

    Plano

    Entrada

    deDiseo

    Editor de

    Texto

    Editor

    Grfico

    Editor de

    Seales

    Vectores de Prueba

    Editor de

    Seales

    Editor de

    Texto

    Doctor

    Diseo

  • 7/22/2019 Introduccion Al VHD

    25/53

    ALTERA y VHDL

    25

    Sntesis

    Analizadorde Retardos

    Programador

    Reportes

    Editor de

    Plano

    DescripcinVHDL

    Editor deSeales

    DoctorDiseo

    Simulacin

    Temporal

    Simulacin

    Lgica

    Compilacin

  • 7/22/2019 Introduccion Al VHD

    26/53

    HDL y Programacin (1)

    26

    Software Hardware

    Cdigo de unprograma en

    alto nivel

    Instrucciones

    en lenguaje

    ensamblador

    Descripcin de

    alto nivel

    Descripcin de

    bajo nivel

    Simulacin

    funcional

    Simulacin

    fsica

    SINTESISCOMPILACION

    Verificacin

  • 7/22/2019 Introduccion Al VHD

    27/53

    HDL y Programacin (2)

    Semejanzas Describen funcionalidad (tipos de datos, operadores, sentencias)

    Modularidad y jerarqua

    Secuencialidad

    Diferencias El software crea un programa para que lo ejecute un microprocesador

    El HDL permite simular o sintetizar un hardware (puertas logicas,flipflops, registros, microprocesadores, microsistemas)

    El HDL debe manejar conceptos de:

    Arquitectura, estructuras

    Concurrencia

    Tiempo

    27

  • 7/22/2019 Introduccion Al VHD

    28/53

    Estilos de Descripcin de un sumador

    28

    Dominio funcional,

    Nivel Algortmico

    Dominio estructural,

    Nivel Lgico

    Dominio funcional,

    Nivel Booleano

    Especificacin

    Diseo en VHDL

  • 7/22/2019 Introduccion Al VHD

    29/53

    Descripcin y

    Simulacin de un

    Sumador Completo

    29

  • 7/22/2019 Introduccion Al VHD

    30/53

    Sntesis de un Sumador Completo

    30

  • 7/22/2019 Introduccion Al VHD

    31/53

    Tarjeta de Entrenamiento en FPGA

    31

    The AlteraDE2-115 Development

    and Education board was designed by

    professors, for professors. It is an ideal

    vehicle for learning about digital

    logic, computer organization, and

    FPGAs. Featuring an Altera Cyclone

    IV 4CE115 FPGA, the DE2-115 board

    is designed for university and college

    laboratory use. It is suitable for a wide

    range of exercises in courses on digital

    logic and computer organization, from

    simple tasks that illustrate

    fundamental concepts to advanceddesigns.

  • 7/22/2019 Introduccion Al VHD

    32/53

    Caractersticas Generales de la Tarjeta

    32

    DE2-115 Board Information

    Feature Description

    FPGACyclone IV EP4CE115F29C7 with EPCS64 64-Mbit serial configuration device

    I/O Interfaces

    Built-in USB-Blaster for FPGA configurationLine In/Out, Microphone In (24-bit Audio CODEC)Video Out (VGA 8-bit DAC)Video In (NTSC/PAL/Multi-format)RS232Infrared input port

    PS/2 mouse or keyboard portTwo 10/100/1000 EthernetUSB 2.0 (type A and type B)Expansion headers (one 40-pin header)HSMC high-speed header

    Memory128 MB SDRAM, 2 MB SRAM, 8 MB FlashSD memory card slot

    Displays Eight 7-segment displays16 x 2 LCD display

    Switches and LEDs18 toggle switches18 red LEDs9 green LEDsFour debounced pushbutton switches

    Clocks50 MHz clockExternal SMA clock inputExternal SMA clock

  • 7/22/2019 Introduccion Al VHD

    33/53

    Sntesis de un Sumador Completo en FPGA

    33

  • 7/22/2019 Introduccion Al VHD

    34/53

    Construccin del Sumador Completo en un FPGA de

    tipo EPF10K10LC84

    34

  • 7/22/2019 Introduccion Al VHD

    35/53

    Arquitectura de un EPF10K10LC84

    35

  • 7/22/2019 Introduccion Al VHD

    36/53

    Sumador Completo: Bloques fsicos

    36

  • 7/22/2019 Introduccion Al VHD

    37/53

    VHDL: Sumador completo (1)

    37

  • 7/22/2019 Introduccion Al VHD

    38/53

    VHDL: Sumador completo (1)

    38

  • 7/22/2019 Introduccion Al VHD

    39/53

    VHDL: Sumador Completo (2)

    39

  • 7/22/2019 Introduccion Al VHD

    40/53

    Ms VHDL

    40

  • 7/22/2019 Introduccion Al VHD

    41/53

    Revisin del VHDL

    Provee documentacin estndar Soporta descripciones en diferentes niveles de abstraccin La descripcin es independiente de la tecnologa. La

    simulacin funcional a partir de la descripcin tambin esindependiente.

    Permite compartir unidades de diseo (a travs de libreras depaquetes )

    No existe un estndar o estilo comn para la descripcinorientada a la sntesis

    No se adapta bien a la simulacin a nivel de puertas(dependiente de la tecnologa)

    41

  • 7/22/2019 Introduccion Al VHD

    42/53

    Ejemplo: Un Multiplexor 4 a 1

    1. Invocar Editor de Texto

    2. Escribir la descripcin en VHDL de un multiplexor

    3. Guardar

    4. Compilar5. Editar un archivo de seales

    6. Simular

    7. Asignar un chip

    8. Programar

    42

  • 7/22/2019 Introduccion Al VHD

    43/53

    Inicio de

    MAX+plusII

    43

    Barra de Botones

    Paleta de Herramientas

    Barra de MenuesBarra de Ttulo

    Barra de Estado

    Administrador

    de Programas

  • 7/22/2019 Introduccion Al VHD

    44/53

    Proyecto

    de

    Diseo:

    Mux4a1

    44

    Nombre del Proyecto:

    Mux4a1

    Archivos de Diseo

    File

    > Project

    > Name...

    Filtro

    Directorio del Proyecto:mpdesign

    Unidad de Disco:

    d

    Proyectos Recientes

  • 7/22/2019 Introduccion Al VHD

    45/53

    Archivo de

    Texto:Mux4a1.vhd

    45

    Botn

    Nuevo

    Archivo

    File

    > New...

    Editor de Texto

    Archivo de texto

    sin nombre

    Guardar archivo

    como Mux4a1.vhd

    12

    Seleccione File> Save As..., luego escriba

    Mux4a1.vhd en la casilla File Name

    Descripci

  • 7/22/2019 Introduccion Al VHD

    46/53

    Descripci

    en VHDL

    46

    Templates > VHDL Template...

    Entidad (Entity)

  • 7/22/2019 Introduccion Al VHD

    47/53

    Plantillas: Entidad, Arquitectura y Asignacin Selectiva

    47

    2

    1

    3

  • 7/22/2019 Introduccion Al VHD

    48/53

    Mux 4a1: Descripcin VHDL

    48

    El nombre de la entidad debe

    coincidir con el nombre del archivo

    VHD y con el nombre del proyecto.

    Entradas de datos: a, b, c, d

    Entradas de seleccin: s1, s0

    Salida: f

    La seal f copia el valor de una

    entrada de datos (a, b, c, d) segn la

    combinacin de los selectores s1 y

    s0. La seal selector se comportacomo un alias para la combinacin

    s1s0.

  • 7/22/2019 Introduccion Al VHD

    49/53

    Compilacin

    49

    Edicin de Seales

  • 7/22/2019 Introduccion Al VHD

    50/53

    Edicin de Seales

    50

    Edici n de Seales

  • 7/22/2019 Introduccion Al VHD

    51/53

    Edici n de Seales

    51

  • 7/22/2019 Introduccion Al VHD

    52/53

    Simulacin

    52

  • 7/22/2019 Introduccion Al VHD

    53/53

    AHDL

    Lenguaje HDL de Altera (desde 1988) Es un superconjunto de ABEL, CUPL, PALASM

    Indicado para grandes o complejas mquinas deestados, lgica de control, lgica de decodificacin

    Soporta descripcin funcional, estructural y mixta. Provee un nivel de descripcin menos abstracta que

    VHDL.

    Es del nivel de abstraccin de Verilog HDL.