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
Top Related