Vous êtes sur la page 1sur 33

Introduccin a VHDL

Sistemas digitales
UTM-2006
JJVS

Surgimiento de VHDL

Necesidad de nuevos mtodos ya que los clsicos


(esquemticos), llegan a ser ineficientes en diseos de altas
escalas de integracin.
El diseo con ecuaciones Booleanas requiere de la escritura
de 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 y
sintetizar circuitos digitales.

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 Lenguaje
para la Descripcin de Hardware.

Trmino acuado por el DoD (Department of Defense) de USA, quienes


fueron los primeros en usarlo para: Documentacin, modelado y
simulacin de dispositivos electrnicos.

Los simuladores de VHDL surgen en los 90s.

VHDL no fue creado para sntesis, esta propiedad se le agreg al buscar


formas que ayuden a automatizar los procesos de diseo.

Lenguajes de descripcin de Hardware

VHDL.
Verilog (Cadence).
ABEL.
CUPL.
PALASM.
AHDL (Altera Hardware Descripcion Lenguaje)
Handel-C (Celoxica)
System-C (Synopsys)

Historia de VHDL

Desarrollado en los 80s por el departamento


de defensa de los EU.

Adoptado como estndar por la IEEE en


1987.

Revisado por la IEEE en 1993.

Similitudes y diferencias con otros


lenguajes

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.

Ventajas de VHDL para el diseo


digital

Lenguaje estandarizado.
Permite el diseo modular y jerrquico de
sistemas electrnicos.
VHDL permite el paralelismo.
Permite incluir diferentes niveles de
abstraccin al describir un diseo digital.

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.

Niveles de descripcin de sistemas


COMPORTAMIENTO

ESTRUCTURA
Bloques funcionales con elementos noDigitales, o incluso que no son elctricos
Procesadores, memorias,
dispositivos I/O

SISTEMA
CHIPS

Especificacin del rendimiento

Algoritmos, micro-operaciones
Respuesta I/O

Registros, multiplexores, ALUs

REGISTROS

Tablas de transicin de estados,


Tablas de verdad

Compuertas, Flip-Flops

COMPUERTAS

Ecuaciones booleanas

Transistores, R, L, C

CIRCUITOS

Ecuaciones diferenciales

Objetos Geomtricos

SILICIO

No existe

Dispositivos FPGA
Logic

ASIC
Aplicattion
Specific ICs

Standard
Logic

Programmable
Logic
Devices (PLDs)

SPLDs
(PALs)
80s

Gate Arrays

CPLDs
90 -

Cell-Based
ICs

FPGAs
90 -

Full Custom
ICs

FPGA (Field Programmable Gate


Array)

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


Programmable Logic Device)

Son dispositivos programables que estn construidos con base en una


matriz de bloques lgicos configurables (CLB)

En cada CLB es posible desarrollar una funcin lgica independiente

Entre los diferentes CLBs existen lneas de interconexin de diferentes


tamaos que tambin son configurables

Alrededor de la matriz se encuentran bloques de entrada y salida (IOB)


que tambin son configurables

Categorias de FPGAs

Basados en SRAM.

Xilinx
Altera

Basados en antifusibles.

Actel,
Quicklogic
Cypress
Xilinx (8100)

FPGA
Programmable
Interconnect
CLB

CLB

Slew
Rate
Control

Switch
Matrix

D Q

CLB

Passive
Pull-Up,
Pull-Down

Vcc

Output
Buffer

CLB

Input
Buffer
Q D

Delay

C1 C2 C3 C4
H1 DIN S/R EC

I/O Blocks (IOBs)

S/R
Control

G4
G3
G2
G1

F4
F3
F2
F1

G
Func.
Gen.

DIN

H'

EC
RD

G'
H'
S/R
Control

DIN

SD

F'

G'

H'

H'

G'

H
Func.
Gen.
F
Func.
Gen.

SD

F'

F'

EC
RD

Configurable
Logic Blocks (CLBs)

XC4000
2000-15000 compuertas

Pad

CLB de un FPGA (Xilinx)


Basado en LUTs

CLB de un FPGA (Xilinx)

IOB de un FPGA

Unidad de interconexiones (Xilinx)

Interior del
FPGA

Fabricantes de FPGAs
( http://www.xilinx.com )

( http://www.altera.com )

( http://www.latticesemi.com )

Familias de FPGAs de Xilinx


Spartan Series

Spartan / XL
Spartan-II
Spartan-IIE
Spartan-3
Spartan-3E
Spartan-3L

Virtex Series

Virtex / E / EM
Virtex II
Virtex II PRO / X
Virtex-4
Virtex-5

Spartan Series
Spartan Family

Gates

I/Os

Block
RAM

Embedded
Multipliers

DCM

Voltage

Spartan-3E

1.6M

376

648Kb

36 18x18

3.3V - 1.2V

Spartan-3

5M

784

1872Kb

104 18x18

3.3V - 1.2V

Spartan-3L

4M

633

1728Kb

96 18x18

3.3V - 1.2V

Spartan-IIE

600K

514

288Kb

3.3V - 1.5V

Spartan-II

200K

284

56Kb

3.3V - 1.5V

Spartan-XL

40K

224

25Kb

3.3V

Arquitectura de la familia
Spartan-3

Atributos de la familia
Spartan-3

Notes:
1. Logic Cell = 4-input Look-Up Table (LUT) de 4 entradas mas un flip-flop D. "Equivalent
Logic Cells" es igual a "Total CLBs" x 8 Logic Cells.
2. Estos productos estn disponibles en versiones de alta temperatura.

IOBs
Spartan-3

Hay 3 rutas principales :


Entrada
Salida
Tres estados

Un CLB contiene 4 slices

Los CLBs (Configurable Logic Blocks) constituyen los


principales recursos lgicos para implementar circuitos
combinacionales o secuenciales sncronos.

Interior de un slice

Cada slice de un CLB tiene los siguientes elementos:

Con estos elementos es posible implementar

Dos generadores de funciones lgicas


Dos elementos de almacenamiento
Multiplexores
Hardware para acarreo lgico
Compuertas para operaciones aritmticas

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

Interior
de un
slice

1 CLB = 4 Slices

Bloque RAM

Bloque RAM

Multiplicadores empotrados

Administrador digital de reloj

Lneas de interconexin

Lneas de interconexin

Vous aimerez peut-être aussi