You are on page 1of 48

Introduccin a VHDL

Sistemas digitales UTM-2009 JJVS

Evolucin de Tecnologas de implementacin


Discrete devices: relays, transistors (1940s-50s) Discrete logic gates (1950s-60s) Integrated circuits (1960s-70s)

trend toward higher levels of integration

e.g. TTL packages: Data Book for 100s of different parts Map your circuit to the Data Book parts Custom integrated circuit chips Design using a library (like TTL) Transistors are already on the chip Place and route software puts the chip together automatically + Large circuits on a chip + Automatic design tools (no tedious custom layout) - Only good if you want 1000s of parts

Gate Arrays (IBM 1970s)


Gate Array Technology (IBM 1970s)

Simple logic gates

Use transistors to implement combinational and sequential logic Wires to connect inputs and outputs to logic blocks Special blocks at periphery for external connections Done when chip is fabed

Interconnect

I/O blocks

Add wires to make connections


mask-programmable

Construct any circuit

Lgica Programable

Disadvantages of the Data Book method


Constrained to parts in the Data Book Parts are necessarily small and standard Need to stock many different parts Use a single chip (or a small number of chips) Program it for the circuit you want No reason for the circuit to be small

Programmable logic

Tecnologas Lgicas Programables

Fuse and anti-fuse


Fuse makes or breaks link between two wires Typical connections are 50-300 ohm One-time programmable (testing before programming?) Very high density High power consumption Typical connections are 2K-4K ohm Fairly high density Memory bit controls a switch that connects/disconnects two wires Typical connections are .5K-1K ohm Can be programmed and re-programmed in the circuit Low density

EPROM and EEPROM


RAM-based

Conexiones

Programmable Logic

Program a connection

Connect two wires Set a bit to 0 or 1 All rely on two-level logic minimization PROM connections - permanent EPROM connections - erase with UV light EEPROM connections - erase electrically PROMs

Regular structures for two-level logic (1960s-70s)


Program connections in the _____________ plane Program the connections in the ____________ plane Program the connections in the ____________ plane

PLAs

PALs

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 sintetiza 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
Bloques funcionales con elementos noDigitales, o incluso que no son elctricos Procesadores, memorias, dispositivos I/O Registros, multiplexores, ALUs

COMPORTAMIENTO SISTEMA CHIPS REGISTROS COMPUERTAS CIRCUITOS SILICIO


Especificacin del rendimiento

Algoritmos, micro-operaciones Respuesta I/O Tablas de transicin de estados, Tablas de verdad Ecuaciones booleanas

Compuertas, Flip-Flops

Transistores, R, L, C

Ecuaciones diferenciales

Objetos Geomtricos

No existe

Dispositivos FPGA
Logic ASIC Aplicattion Specific ICs Standard Logic

Programmable Cell-Based Full Custom Logic Gate Arrays ICs ICs Devices (PLDs) SPLDs (PALs) 80s CPLDs 90 FPGAs 90 -

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)

Interruptores

FPGA
Programmable Interconnect
CLB CLB
Slew Rate Control Passive Pull-Up, Pull-Down Vcc

Switch Matrix

D Q

Output Buffer

Pad

CLB
C1 C2 C3 C4 H1 DIN S/R EC
S/R Control

CLB
Q D Delay

Input Buffer

G4 G3 G2 G1

G Func. Gen. H Func. Gen. F Func. Gen.

I/O Blocks (IOBs)


SD D Q EC RD

DIN F' G' H'

1 G' H' S/R Control

F4 F3 F2 F1

DIN F' G' H'

SD D Q

H'

EC RD

F'

Configurable Logic Blocks (CLBs)

XC4000 2000-15000 compuertas

The Xilinx 4000 CLB

Two 4-input functions, registered output

5-input function, combinational output

Switch Matrix

Xilinx 4000 Interconnect Details

Global Signals - Clock, Reset, Control

CLB de un FPGA (Xilinx)


Basado en LUTs

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 Spartan-II Spartan-IIE Spartan-3 Spartan-3E Spartan-3L

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

Spartan Series
Spartan Family Spartan-3E Gates 1.6M I/Os 376 Block RAM 648Kb Embedded Multipliers 36 18x18 DCM 8 Voltage 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 Spartan-XL

200K 40K

284 224

56Kb 25Kb

3.3V - 1.5V 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 Funciones lgicas Funciones aritmticas Funciones ROM Almacenamiento de datos usando RAM distribuida Desplazamiento de datos con registros de 16-bits

Con estos elementos es posible implementar


Adems, los slices de la mitad izquierda proporcionan dos funciones adicionales:


Interior de un slice

1 CLB = 4 Slices

Bloque RAM

Bloque RAM

Multiplicadores empotrados

Administrador digital de reloj

Lneas de interconexin

Lneas de interconexin

You might also like