You are on page 1of 53

Introduccin al VHDL

Aplicaciones, construcciones,

Sistemas Digitales
1

Qu significa VHDL?
VHDL = VHSIC + HDL. VHSIC = Very High Speed Integrated 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 para simular, sintetizar y verificar circuitos digitales.
2

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 la

descripcin de circuitos integrados digitales complejos.

Las herramientas CAD de Altera, Synopsys, Cadence, Esperan, Aldec,

Xilinx entre otras, facilitan la entrada, sntesis, simulacin y verificacin de diseos digitales. En particular, MAX +plus II y QUARTUS de Altera soporta entrada esquemtica, por formas de onda y tres HDLs : AHDL, Verilog HDL y VHDL. Las herramientas ms poderosas y costosas las proveen Synopsys, Menthor y Cadence. Casi todas las compaas proveen algun tipo de ayuda para que las instituciones acadmicas adquieran sus herramientas.

Por qu VHDL?
Lenguaje estndar. Soporte de las principales

compaas proveedoras de

herramientas CAD y EDA. Flexibilidad de implementacin en circuitos integrados: cdigo VHDL es portable entre herramientas, aunque normalmente es necesario hacer ajustes segn el dispositivo final. Es un lenguaje popular cuyo nmero de usuarios sigue aumentando.
Ventajas
Proceso de desarrollo ms confiable y automatizado Reduccin de costo y tiempo
4

VHDL: Orgenes y evolucin


Desarrollado en los comienzos de los 80s como un

mtodo para la descripcin de sistemas electrnicos para el Departamento de Defensa de EE.UU. Su sintxis es similar al lenguaje de programacin Ada. Fue estandarizado en 1987, bajo la norma IEEE 1076. En 1993 sali una revisin con algunas nuevas capacidades, manteniendo la compatibilidad con la norma original. Es utilizado ampliamente en la industria y academia.

Para qu sirve VHDL?


Comienzos de los 90s : diseo de ASICs complejos, empleando

herramientas de sntesis. Mediados de los 90s: diseo con lgica programable. Se utiliza en la documentacin as como en la simulacin del sistema, y adems se emplea para sintetizar la parte hardware del sistema digital. Hoy se empieza a utilizar en el modelamiento de especificaciones de todo el sistema, tanto la parte hardware como la parte software. Las herramientas de sntesis permiten implementar los circuitos sobre ASICs y FPLDs.
6

Limitaciones de VHDL
No permite describir sistemas analgicos. Sin embargo, ya

se estn desarrollando versiones anlogas y mixtas. No existe un estilo de descripcin normalizado. Para sntesis se requiere ajustar los estilos disponibles a la capacidad de las herramientas CAD. Es posible sintetizar lgica solo de un subconjunto del lenguaje. Las herramientas de sntesis no soportan los mismos subconjuntos, y existen a veces diferencias al mudar de herramientas.
7

Niveles de Abstraccin
La abstraccin define cuanto detalle debe ser descrito acerca

del diseo. Existen cuatro niveles principales de abstraccin: Layout (Trazado): descripcin en el nivel geomtrico o fsico. Especifica la disposicin fsica de los dispositivos en el chip. Puede incluir informacin sobre temporizacin y efectos analgicos. Lgico: Especifica la conexin de puertas lgicas y registros. Informa detalladamente la funcin, arquitectura, tecnologa y temporizacin.
8

Niveles de Abstraccin
Transferencia de Registros (RTL): Define cada registro en el

diseo y la lgica entre ellos. Contiene informacin de la arquitectura pero no detalla la tecnologa. No especifica los retardos de tiempo absolutos. Comportamental: Describe la funcin de un diseo sin especificar la arquitectura de registros. Puede requerir informacin de tiempos de retardos.

En VHDL se utilizan los estilos RTL y Comportamental

Carta Y de Gajski & Kahn

Estructural
Microcomputador

RTL:ALU, regisro Procesador

Puerta lgica, flipflop Transistor Especificaciones Algoritmo Lenguaje RTL Ecuacin Booleana Ecuacin Diferencial

Geomtrico
Trazado de figuras Celdas estndares Macroceldas Plano de bloques Chip, PCP, MCM

Funcional

Mayor abstraccin

Menor abstraccin
10

Estilos RTL y Comportamental


La mayora de las herramientas de sntesis requieren que el cdigo se

exprese en el nivel RTL. En este nivel el diseador debe especificar la arquitectura 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 de la codificacin de un algoritmo.
Seccin de control (i.e. mquinas de estados) descrito funcionalmente.

La descripcin comportamental se emplea tambin para modelar

estmulos y respuestas (testbenchs), documentar partes y detallar las especificaciones del hardware. NOTA:
Algunos CADs permiten mezclar descripciones HDL con descripciones

esquemticas.
11

Conceptos Fundamentales
CONCURRENCIA => Actividades concurrentes son sucesos

que ocurren en paralelo. En el hardware los eventos suelen disparar varios procesos al mismo tiempo. Modela la activacin de los bloques de un sistema digital, donde las seales se presentan sobre las entradas de los bloques y producen resultados en las salidas
ESTRUCTURA=> Ordenamiento de bloques en una jerarqua.

Cada bloque se puede describir en estilo RTL, comportamental o mixto.

12

Conceptos Fundamentales
SECUENCIA => Las sentencias secuenciales se ejecutan una

despus de otra, como en lenguajes de software con un solo microprocesador.


TIEMPO => VHDL permite modelar el concepto de tiempo.

Simulacin dirigida por eventos. Un evento es producido por un cambio en una seal en un determinado tiempo de simulacin. La respuesta de un modelo a un evento puede provocar nuevos eventos.

13

Entidad
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

14

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

Jerarqua de un sumador completo

16

Jerarqua de un sumador completo

17

Configuracin
Define la arquitectura para la entidad

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 a

procedimientos, sentencias IF, sentencias CASE, y sentencias iterativas. Un simulador de VHDL observa los modelos como una coleccin de procesos.
18

Tipos
Cada seal en VHDL tiene asociado un tipo, que define un

conjunto 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

Paquetes
En un paquete se colocan definiciones comunes para

varias entidades de diseo. Ello facilita el trabajo de equipos. 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

Unidades de Diseo en VHDL


Arquitectura Entidad

Cuerpo de Paquete Paquete Configuracin


21

VHDL Metodologa de Diseo


Requerimientos Especificaciones

Arquitectura Banco de Pruebas


Modelamiento Simulacin RTL, Funcional Rediseo Sntesis Modelo de Puertas Simulacin

Verificacin

Ubicacin y Conexin
FPLD, ASIC Modelo de Retardos Simulacin
22

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

Metodologa de Diseo con ALTERA


Editor Grfico Editor de Entrada Texto de Diseo Editor de Seales Programador Editor de Seales Editor de Texto

Vectores de Prueba Simulador Compilador Analizador de Retardos Doctor Diseo Reportes


24

Editor de Plano

ALTERA y VHDL
Descripcin VHDL Reportes Compilacin Editor de Plano Doctor Diseo Programador
25

Editor de Seales Simulacin Lgica Simulacin Temporal Analizador de Retardos

Sntesis

HDL y Programacin (1)


Cdigo de un programa en alto nivel COMPILACION Instrucciones en lenguaje ensamblador Descripcin de alto nivel Simulacin funcional

SINTESIS

Verificacin

Descripcin de bajo nivel

Simulacin fsica

Software

Hardware
26

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

Estilos de Descripcin de un sumador


Especificacin Dominio estructural, Nivel Lgico

Dominio funcional, Nivel Booleano


Dominio funcional, Nivel Algortmico

Diseo en VHDL

28

Descripcin y Simulacin de un Sumador Completo

29

Sntesis de un Sumador Completo

30

Tarjeta de Entrenamiento en FPGA


The Altera DE2-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 advanced designs.

31

Caractersticas Generales de la Tarjeta


DE2-115 Board Information Feature FPGA Cyclone IV EP4CE115F29C7 with EPCS64 64-Mbit serial configuration device I/O Interfaces Built-in USB-Blaster for FPGA configuration Line In/Out, Microphone In (24-bit Audio CODEC) Video Out (VGA 8-bit DAC) Video In (NTSC/PAL/Multi-format) RS232 Infrared input port PS/2 mouse or keyboard port Two 10/100/1000 Ethernet USB 2.0 (type A and type B) Expansion headers (one 40-pin header) HSMC high-speed header Description

Memory

128 MB SDRAM, 2 MB SRAM, 8 MB Flash SD memory card slot Eight 7-segment displays 16 x 2 LCD display 18 toggle switches 18 red LEDs 9 green LEDs Four debounced pushbutton switches 50 MHz clock External SMA clock input External SMA clock

Displays Switches and LEDs

Clocks

32

Sntesis de un Sumador Completo en FPGA

33

Construccin del Sumador Completo en un FPGA de tipo EPF10K10LC84

34

Arquitectura de un EPF10K10LC84

35

Sumador Completo: Bloques fsicos

36

VHDL: Sumador completo (1)

37

VHDL: Sumador completo (1)

38

VHDL: Sumador Completo (2)

39

Ms VHDL

40

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 es independiente. Permite compartir unidades de diseo (a travs de libreras de paquetes ) No existe un estndar o estilo comn para la descripcin orientada a la sntesis No se adapta bien a la simulacin a nivel de puertas (dependiente de la tecnologa)

41

Ejemplo: Un Multiplexor 4 a 1
1. 2. 3. 4. 5. 6. 7. 8.

Invocar Editor de Texto Escribir la descripcin en VHDL de un multiplexor Guardar Compilar Editar un archivo de seales Simular Asignar un chip Programar

42

Inicio de MAX+plusII
Barra de Menues Barra de Ttulo Barra de Botones

Administrador de Programas
Paleta de Herramientas Barra de Estado

43

Proyecto de Diseo: Mux4a1


Archivos de Diseo

File > Project > Name...

Proyectos Recientes

Nombre del Proyecto: Mux4a1 Directorio del Proyecto: mpdesign Unidad de Disco: d
44

Filtro

Botn Nuevo Archivo File > New...

Archivo de Texto: Mux4a1.vhd

Archivo de texto sin nombre

1
Editor de Texto

Guardar archivo como Mux4a1.vhd


Seleccione File > Save As... , luego escriba Mux4a1.vhd en la casilla File Name 45

Descripci en VHDL
Templates > VHDL Template...

Entidad (Entity)

46

Plantillas: Entidad, Arquitectura y Asignacin Selectiva

3
47

Mux 4a1: Descripcin VHDL


El nombre de la entidad debe coincidir con el nombre del archivo VHD y con el nombre del proyecto. Entradas de datos: Entradas de seleccin: Salida: a, b, c, d s1, s0 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 comporta como un alias para la combinacin s1s0.

48

Compilacin

49

Edicin de Seales

50

Edicin de Seales

51

Simulacin

52

AHDL
Lenguaje HDL de Altera (desde 1988) Es un superconjunto de ABEL, CUPL, PALASM Indicado para grandes o complejas mquinas de

estados, 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.

53

You might also like