Está en la página 1de 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
ESTRUCTURA COMPORTAMIENTO
Bloques funcionales con elementos no- Especificacin del rendimiento
Digitales, o incluso que no son elctricos SISTEMA
Procesadores, memorias, CHIPS Algoritmos, micro-operaciones
dispositivos I/O 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
Standard
Aplicattion
Logic
Specific ICs

Programmable
Cell-Based Full Custom
Logic Gate Arrays
ICs ICs
Devices (PLDs)

SPLDs
CPLDs FPGAs
(PALs)
90 - 90 -
80s
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 Passive


Vcc
Rate Pull-Up,
Control Pull-Down

Switch
Matrix
D Q
Output Pad
Buffer

CLB CLB Input


Buffer
Q D Delay

C1 C2 C3 C4

H1 DIN S/R EC

G4
S/R
Control
I/O Blocks (IOBs)
G
DIN
G3 F'
SD

G2 Func. G' D Q

Gen. H'

G1
EC
RD
1

H G'
Y
Func. H'
S/R

F4 Gen. Control

F3 F
Func. DIN
SD
F2 Gen.
F'
D Q

XC4000
G'

F1
Configurable
H'

EC
RD

2000-15000 compuertas
1

Logic Blocks (CLBs)


H'
F'
X
K
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 Virtex Series

Spartan / XL Virtex / E / EM
Spartan-II Virtex II
Spartan-IIE Virtex II PRO / X
Spartan-3 Virtex-4
Spartan-3E Virtex-5
Spartan-3L
Spartan Series
Block Embedded
Spartan Family Gates I/Os DCM Voltage
RAM Multipliers

Spartan-3E 1.6M 376 648Kb 36 18x18 8 3.3V - 1.2V

Spartan-3 5M 784 1872Kb 104 18x18 4 3.3V - 1.2V

Spartan-3L 4M 633 1728Kb 96 18x18 4 3.3V - 1.2V

Spartan-IIE 600K 514 288Kb 4 3.3V - 1.5V

Spartan-II 200K 284 56Kb 4 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:
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
Interior
de un
slice

1 CLB = 4 Slices
Bloque RAM
Bloque RAM
Multiplicadores empotrados
Administrador digital de reloj
Lneas de interconexin
Lneas de interconexin

También podría gustarte