Sei sulla pagina 1di 54

Sistemas Digitales 2015

Dispositivos Lógicos
Programables

MSc. Jorge Duque

© Universidad Tecnológica de Bolívar


Schutzvermerk / Copyright-Vermerk
Dispositivos programables Facultad de Ingeniería – Cartagena de Indias,
© J. Duque 2015
- UTB 2015
Agenda

1. Introducción a la lógica programable

2. PLDS

3. FPGA

4. Programación de PLDs con CUPL

5. Programacion de FPGA co VHDL

Slide 2 Dispositivos programables © J. Duque - UTB 2015


Implementación de sistemas digitales
Clasificación de los Circuitos Integrados

ASIC: Application Specific


Integrated Circuit

Principales fabricantes de PLDs

– Xilinx , Lattice, Altera, AMD

– Philips , Texas Instruments,


Cypress, ST Microelectronics

Slide 3 Dispositivos programables © J. Duque - UTB 2015


Implementación de sistemas digitales
Dispositivos programables

Hardware

Analógica Digital

Componentes Comp.estándar
Comp. Configuración fija
discretos SSI/MSI
estándar I
PLD
PLD
Amplificadores Conexiones
(Disp. lógic.
(Disp. prog.)
lógic.
operacionales programables
Dispositivos Microcontrolad
Microprocesador Ejecuta un
Programables or
programa
ASIC ASIC

o En la actualidad, ya no se diseña con circuitos SSI o MSI.


• Aún se utilizan como drivers, puertas sueltas, ...
o Se diseñan circuitos con PLD y con microprocesador

Slide 4 Dispositivos programables © J. Duque - UTB 2015


Implementación de sistemas digitales
Definición de PLD

 Un Dispositivo Lógico Programable (PLD) es un chip LSI / VLSI que:


o Contiene una estructura circuital regular y flexible

o El diseñador lo configura para que realice la función digital requerida


o Se configura programando el estado de interruptores

 Clasificación:
o SPLD
o CPLD
o FPGA

Slide 5 Dispositivos programables © J. Duque - UTB 2015


Implementación de sistemas digitales
Definición de PLD

 Es un circuito integrado que contiene una gran cantidad de elementos lógicos


que a través de la programación se interconectan para que realice una función
específica.

 Es un dispositivo cuyas características pueden ser modificadas y almacenadas


mediante programación.

 El dispositivo programable más simple consiste de una matriz de conexiones de


compuertas AND y un arreglo de compuertas OR.

Slide 6 Dispositivos programables © J. Duque - UTB 2015


Implementación de sistemas digitales
Circuitos programables vs configurables

Arquitectura no configurable Arquitectura configurable

•Interconexión (re)configurable de
• Microprocesador / Microcontrolador
• ALU
bloques lógicos

• Registros • Procesamiento ‘paralelo’


• Memorias
• Configuración por:
• Ejecución de un programa (firmware) • Métodos tabulares, ecuaciones lógicas.
• Lenguaje de bajo nivel (assembler)
• Lenguajes de alto nivel (HDL Hardware
• Lenguaje de alto nivel (C)
Description Language)

Dispositivos programables Dispositivos configurables

Slide 7 Dispositivos programables © J. Duque - UTB 2015


Implementación de sistemas digitales
Circuitos programables vs configurables

Microprocesador PLD

Programar consiste en Programar consiste en cambiar las


establecer las instrucciones conexiones y entradas/salidas de la
para la CPU lógica del dispositivo: se configura

Ejecución secuencial Ejecución en paralelo

Cambia el SW Cambia el HW

Slide 8 Dispositivos programables © J. Duque - UTB 2015


Implementación de sistemas digitales
Dispositivos configurables

• PLD Programmable Logic Device

• PROM Programmable Read Only Memory

• PAL® Programmable Array Logic (AMD)

• PLA® Programmable Logic Array

• GAL® Generic Array Logic (Lattice)

• CPLD Complex PLD

• FPGA Field-Programmable Gate Arrays (Xilinx)

Slide 9 Dispositivos programables © J. Duque - UTB 2015


Implementación de sistemas digitales
Arquitectura de un PLD

•Sistemas MIMO: Multiple Inputs Multiple Outputs

•Fundamento: Cualquier función lógica puede ser expresada como una


suma de productos (AND-OR) (minitérminos)

Slide 10 Dispositivos programables © J. Duque - UTB 2015


Implementación de sistemas digitales
Arquitectura de un PLD

Slide 11 Dispositivos programables © J. Duque - UTB 2015


Implementación de sistemas digitales
Simbología de un PLD

Slide 12 Dispositivos programables © J. Duque - UTB 2015


PLD
Simbología

PLD 4 x 3 con 6 términos de producto

Slide 13 Dispositivos programables © J. Duque - UTB 2015


Tipos de matrices y dispositivo PLD

• PLA: matriz AND configurable


matriz OR configurable

• PROM (PLE Programmable Logic Element): matriz AND fija


matriz OR configurable

• PAL: matriz AND configurable


matriz OR fija

Slide 14 Dispositivos programables © J. Duque - UTB 2015


Tipos de matrices y dispositivo PLD

PLE
Arreglo Arreglo
Entradas AND OR Salidas
Fijo Programable

PAL

Arreglo Arreglo
Entradas AND OR Salidas
Programable Fijo

PLA
Arreglo Arreglo
Entradas AND OR Salidas
Programable Programable

Slide 15 Dispositivos programables © J. Duque - UTB 2015


Clasificación de los PLD’s

Productos comerciales
Fabricante SPLD
Altera Clásicos,FLASHLogic

SPLD’s Atmel
Cypress
PAL
PAL
Lattice GAL
Philips PLA,PAL
Vantis PAL
Fabricante CPLD
Altera MAX 5000,7000 Y 9000
Atmel ATF, ATV
CPLD’s Cypress FLASH370, ULTRA37000

PLD’s Lattice
Philips
IspLSI 1000 a 8000
XPLA
Vantis MACH 1 a 5
Xilinx XC9500, CoolRunner

Fabricante FPGA
Actel ACT 1 a 3 , MX, SX
Altera FLEX 6000,8000 Y 10K
FPGA’s Atmel
Lucent
AT6000, AT40K
ORCA 1 a 3
QuickLogic pASIC1 a 3
Vantis VF1
Xilinx XC4000,Virtex, Spartan

Slide 16 Dispositivos programables © J. Duque - UTB 2015


Clasificación de los PLD’s

Sustituye a 100 C.I. SSI


TTL o CMOS

Soy un SPLD

PAL’s ó GAL’s C.I. Series 74xx y 40xx

Slide 17 Dispositivos programables © J. Duque - UTB 2015


PLA - Programmable Logic Array
Definición

• Matriz AND configurable

• Matriz OR configurable

• No reprogramables

Especificación

 Número de entradas (n)

 Número de salidas (m)

 Número de términos de producto (p)

En general: p  2n

Slide 18 Dispositivos programables © J. Duque - UTB 2015


PLA - Programmable Logic Array
Estructura

• Matriz AND programable

• Matriz OR programable

Slide 19 Dispositivos programables © J. Duque - UTB 2015


PLA - Programmable Logic Array
estructura

Slide 20 Dispositivos programables © J. Duque - UTB 2015


PLA - Programmable Logic Array
Ejemplo

O1 = I1 . I2 + I1’ . I2’ . I3’ . I4’


O2 = I1 . I3’ + I1’ . I3 . I4 + I2

O3 = I1 . I2 + I1 . I3’ + I1’ . I2’ . I4’

Slide 21 Dispositivos programables © J. Duque - UTB 2015


PROM – Programmable ROM
Estructura

• Matriz AND fija


– Se generan todos los minitérminos

• Matriz OR programable
– Se programan las OR

 n = 4; p = 24; m = 4

Slide 22 Dispositivos programables © J. Duque - UTB 2015


PAL® - Programmable Array Logic
PAL® es marca registrada de AMD®
 Matriz AND configurable

 Matriz OR fija

 Terminales bi-direccionales de E/S

 No reprogramables

Slide 23 Dispositivos programables © J. Duque - UTB 2015


PAL® - Programmable Array Logic

• Matriz AND programable

• Matriz OR fija

• Terminales bidireccionales de
entrada y salida

 n = 4; p  24; m = 4

Slide 24 Dispositivos programables © J. Duque - UTB 2015


PAL® - Programmable Array Logic
Arquitectura de los PAL

•PAL con salida combinacional

• PAL con salida secuencial

•Control de arquitectura: PAL combinacional, secuencial o una


combinación de ambos.

Tipos de salida
1. Salida tri-estado
2. Macroceldas de salida
• Salida con polaridad configurable
• Salida registrada (con entradas asíncronas)
• Salida multiplexada

Slide 25 Dispositivos programables © J. Duque - UTB 2015


PAL® - Programmable Array Logic
Salida tri-estado (alta impedancia)

Slide 26 Dispositivos programables © J. Duque - UTB 2015


PAL® - Programmable Array Logic
PAL comerciales

PAL16L8

• 32 entradas (16 variables)

• 64 AND

• 8 OR de 7 entradas

Slide 27 Dispositivos programables © J. Duque - UTB 2015


PLDs Reprogramables

•Fusibles reemplazados por transistores CMOS (celdas) borrables


eléctricamente (E2CMOS)

•Control de arquitectura: PLD combinacional, secuencial o una


combinación de ambos.

 GAL® Generic Array Logic (Lattice Semiconductor)


 PALCE® (AMD)
 CPLD Complex PLD
 FPGA Field-Programmable Gate Arrays

Slide 28 Dispositivos programables © J. Duque - UTB 2015


GAL® - Generic Array Logic

• Son programables y borrables


eléctricamente
– Tecnología E2CMOS

• Forma básica:
– Matriz AND configurable

– Matriz OR fija

– Lógica de salida en
macrocelda (OLMC Output
Logic Macro Cell)

GAL® es marca registrada de


Lattice Semiconductor®
Slide 29 Dispositivos programables © J. Duque - UTB 2015
GAL® - Generic Array Logic
GAL22V10, GAL18V10 and GAL26CV12 Block Diagram

Slide 30 Dispositivos programables © J. Duque - UTB 2015


GAL® - Generic Array Logic
GAL22V10, GAL18V10 and GAL26CV12 Block Diagram

Modo combinacional

Modo secuencial

Slide 31 Dispositivos programables © J. Duque - UTB 2015


GAL® - Generic Array Logic
Posibles estructuras de arreglos lógicos

Inputs, outputs

Combinational
output
Product term

I/O
Input

D Q

Input Q Output
Flip-Flop
Clock

Slide 32 Dispositivos programables © J. Duque - UTB 2015


GAL® - Generic Array Logic
GAL22V10

Slide 33 Dispositivos programables © J. Duque - UTB 2015


GAL® - Generic Array Logic
GAL22V10

• 24-pins SPLD
• Up to 22 inputs, up to 10 outputs

I8 I9 I10 I11
CLK / I0 I1 I2 I3 I4 I5 I6 I7

Programmable AND matrix


AR SP
8 10 12 12 10 8
14 16 16 14

O O O O O O O O O O
L L L L L L L L L L
M M M M M M M M M M

I/O2 I/O3 I/O4 I/O5 I/O6

Slide 34 Dispositivos programables © J. Duque - UTB 2015


GAL® - Generic Array Logic
GAL22V10

Cada macrocelda de salida lógica tiene la estructura siguiente

10
AR
11
I/On
D Q 00
CLK Q 01
OLM
SP S0
0 S1
Programables
1 0/1

Slide 35 Dispositivos programables © J. Duque - UTB 2015


GAL® - Generic Array Logic
GAL22V10 datasheet

Slide 36 Dispositivos programables © J. Duque - UTB 2015


GAL® - Generic Array Logic
Nomenclatura

Slide 37 Dispositivos programables © J. Duque - UTB 2015


Limitaciones de los SPLD

 Reducida cantidad de macroceldas.


 La exigencia de optar entre la retroalimentación desde la macrocelda o
desde la entrada forza que ante la necesidad de un flip-flop o de un
término lógico intermedio a veces se deba perder una posible terminal de
entrada/salida.
 La distribución de todas la señales por todo el chip consume mucha
superficie del silicio y genera retardos capacitivos de importancia.
 En los primeros PAL, el uso de fusibles afectaba seriamente la
confiabilidad del dispositivo.

Slide 38 Dispositivos programables © J. Duque - UTB 2015


Integración de un CPLD

Sustituye a 50 SPLD’s

Soy un CPLD

PAL’s y GAL’s

Slide 39 Dispositivos programables © J. Duque - UTB 2015


Estructura de un CPLD

 Agrupamiento de las macroceldas


(LABs)
De líneas de
 Generación de áreas de entrada dedicadas
(8 a 20)
conexionado global (PIA)
 Generación de áreas de conexión

Interconexión global (PIA)

Bloque de control de E/S


Interconexión del LAB
dentro del LAB Matriz de

 Expansores para generar términos macroceldas


4..16 pines

producto auxiliares de I/O por


Matriz de cada LAB
 Con un término producto p/control de
expansores
inversión lógica
 Con un bloque de E/S por cada
macrocelda con dual feedback
 De 32 a 192 macroceldas en chips
de 28 a 100 terminales

Slide 40 Dispositivos programables © J. Duque - UTB 2015


FPGA- Field Programmable Gate Array
Definición

 Field Programmable Gate Array


(Arreglo de compuertas programable
en el campo).

 Es un circuito integrado que


contiene celdas lógicas
programables (64 a 8,000,000)

 Las celdas lógicas se interconectan


por medio de una matriz de
interconexiones programables

Slide 41 Dispositivos programables © J. Duque - UTB 2015


FPGA- Field Programmable Gate Array
Arquitectura

Bloques de E/S

Bloques Lógicos

Interconexión Programable

Slide 42 Dispositivos programables © J. Duque - UTB 2015


FPGA- Field Programmable Gate Array
Densidades de FPGA

 Spartan II XC2S15 15, 000*

 Spartan IIE XC2S150E 150,000*

 Virtex E XCV50E 72,000*

 Virtex E XCV3200E 4,047,000*

 Virtex II XC2V40 40,000*

 Virtex II XC2V8000 8,000,000*

* Compuertas equivalentes (System gates)

Slide 43 Dispositivos programables © J. Duque - UTB 2015


FPGA- Field Programmable Gate Array
Densidades de FPGA

 Spartan II XC2S15 15, 000*

 Spartan IIE XC2S150E 150,000*

 Virtex E XCV50E 72,000*

 Virtex E XCV3200E 4,047,000*

 Virtex II XC2V40 40,000*

 Virtex II XC2V8000 8,000,000*

* Compuertas equivalentes (System gates)

Slide 44 Dispositivos programables © J. Duque - UTB 2015


FPGA- Field Programmable Gate Array
Densidades de FPGA

CPLD’s

FPGA’s

Software

Slide 45 Dispositivos programables © J. Duque - UTB 2015


FPGA- Field Programmable Gate Array
Sistema básico y Flujo de Diseño con Lógica Programable
Introducción/Descripción Simulación Funcional
del Diseño •Verificación de la funcionalidad de la
•Captura Esquemática Lógica
•Descripción basada en •Temporización estimada (opcional)
Lenguaje
Simulación Temporizada
Realización/Implementación •Se requiere de información de
del Diseño temporización posterior a los procesos de
•Translación/Síntesis del Colocación (Place) y Enrutamiento
Diseño (Route)
•Verificación de Reglas de
Análisis de Temporización Estático
Diseño
•Se requiere de información de Sistema Básico de
•Partición y Mapeo de Lógica
temporización posterior al proceso de Desarrollo
•Asignación o Colocación
Colocación (Place) y Enrutamiento
(Place) de la Lógica en los  Computadora Personal /
(Route)
Bloques configurables Estación de Trabajo
•Objetivo: Obtener resultados mejores a
•Enrutamiento (Route)
los de la simulación temporizada  Software CAE/CAD –
•Creación de Archivo de
Programación p.ej. WebPack (Gratuito) de
Depuración del diseño integrado al Xilinx
Programación-Dispositivo Sistema (In-System) siendo desarrollado
•Para dispositivos reprogramables  Programador – Opcional
•Uso de otros Sistemas de Software &
Hardware

Slide 46 Verificación
Dispositivos programablesdel Diseño © J. Duque - UTB 2015
CPLD vs FPGA
Comparación

CPLD FPGA
Field Programmable Gate Array
Complex PLD

Slide 47 Dispositivos programables © J. Duque - UTB 2015


CPLD vs FPGA
Comparación

¿ Cuál es la primera fase del diseño de un sistema


digital utilizando SPLD’s, CPLD’s y FPGA’s ?

Descripción del Diseño

Métodos
Limitación: Difícil o imposible la manipulación
 Captura Esquemática (p.ej. OrCAD) de diseños complejos
 Descripción por Lenguaje

De Bajo Nivel: PALASM


OPAL
PLPL
De Alto Nivel: ABEL
CUPL
Verilog
VHDL
Slide 48 Dispositivos programables © J. Duque - UTB 2015
FPGA
Ejemplo: Arquitectura Spartan 3 de Xilinx

DCMs (Control digital de relojes)


Vcc
Slew Passive
Tri state
Matriz de bloques path
Rate
Control
Pull-Up,
Pull-Down

lógicos configurables
(CLBs) D Q
Prog.
Output Pad
driver

Input
Buffer
Q D Delay

I/O Blocks (IOBs)

Cout

Slice
BRAM MULs X1Y1

Interconexiones Slice

programables CLBs (Configurable X1Y0

Cout
CLB CLB Logic Blocks ) Switch
Matrix
Cin

Slice
X0Y
1

CLB CLB Slice


X0Y
0

Cin

Dispositivos programables © J. Duque - UTB 2015


CPLD vs FPGA

Dispositivos programables © J. Duque - UTB 2015


FPGA
Ventajas e inconvenientes

Lógica discreta ASICs


Tiempo de diseño (cambios sin “soldar”) Tiempo de diseño (cambios en el
Densidad integración (menor peso, laboratorio)
tamaño)  Reconfigurable (pruebas o actualizaciones)
Mayores prestaciones (consumo,  Menor coste para tiradas cortas y medias
velocidad)  Mayor coste para tiradas muy largas
Menor coste para circuitos medios-  Menores prestaciones (consumo, velocidad)
complejos  Menor densidad integración
 Mayor coste para circuitos muy simples
 Herramientas específicas (fabricante)

complejidad +
-
- número de unidades (tirada) +
velocidad / consumo
- +
Lógica discreta FPGAs ASICs

Dispositivos programables © J. Duque - UTB 2015


Programación de PLDS

HDL Hardware Description Language

• PALASM, CUPL

• ABEL®: Advanced Boolean Equation Language (Data I/O Corporation)

• VHDL: Very High Speed Integrated Circuit Hardware Description Language

Dispositivos programables © J. Duque - UTB 2015


Diseño utilizando lógica programable
Conclusiones

 El uso de lógica programable no descarta el uso de lógica discreta,


sino que la restringe a casos muy simples.
 Es una herramienta rápida, de alta confiabilidad, y de bajísimo
costo por compuerta.
 La fácil modificación de un diseño permite asegurar el
mantenimiento y actualización de un producto.
 Conocer profundamente las técnicas de diseño lógico es la mejor
manera de aprovechar la lógica programable.
 Se pasa del diseño por compuertas al diseño por sistemas.

Dispositivos programables © J. Duque - UTB 2015


Dispositivos Lógicos Programables
Fin
Schutzvermerk / Copyright-Vermerk
Dispositivos programables © J. Duque - UTB 2015

Potrebbero piacerti anche