Está en la página 1de 31

INTRODUCCION A LOS PLDs

Dr. Ing. Elmer Javier Crdova Zapata Setiembre 2013

Introduccin
La

realidad del diseo lgico actual

Complejidad creciente Tiempos menores de introduccin al mercado Disminucin costos (lost market oportunity-costo de oportunidad)
Las

exigencias que plantea son

Confiabilidad Accesibilidad para pruebas La

meta principal es

Contar con una solucin de uso universal

Costos
Fijos Globales Aprendizaje de la tecnologa Herramientas de diseo De ingeniera del diseo Costos no repetitivos Costos de iteracin (repetir el diseo) Variables por unidad Precio del componente Accesibilidad para pruebas Costo

fijo + costo unitario * volumen

Beneficios de una solucin universal


Fcil

adaptabilidad a cambios de diseo

Aumento de la vida comercial til del producto Posibilidad de la reingeniera y compatibilidad


Mayor

desempeo

Rpido, pequeo, confiable y fcil de armar Dispositivos semi-custom


Aprovechamiento

de los recursos de

ingeniera
Menor costo de desarrollo

Qu es un PLD ?

Es un circuito integrado que contiene una gran cantidad de elementos lgicos que a travs de la programacin se interconectan para que realice una funcin especfica.

Qu es un PLD ?
Es un dispositivo cuyas caractersticas pueden ser modificadas y almacenadas mediante programacin. El dispositivo programable ms simple consiste de una matriz de conexiones de compuertas AND y un arreglo de compuertas OR. Una matriz de conexiones es una red de conductores distribuidos en filas y columnas con un fusible en cada punto de interseccin, mediante el cual se seleccionan cules entradas del dispositivo sern conectadas al arreglo AND y cuyas salidas, a su vez, se envan al arreglo OR, para obtener una funcin lgica en forma de suma de productos.

Notacin convencional y notacin PLD

Configuraciones bsicas
PLE Arreglo AND Fijo Arreglo OR Programable

Entradas
PAL

Salidas

Entradas

Arreglo AND Programable

Arreglo OR Fijo

Salidas

PLA Entradas Arreglo AND Programable Arreglo OR Programable Salidas

Configuracin PLE/PROM

Configuracin PAL

Configuracin PLA

Clasificacin de los PLDs


Productos comerciales

SPLDs

Fabricante Altera Atmel Cypress Lattice Philips Vantis


Fabricante Altera Atmel Cypress Lattice Philips Vantis Xilinx Fabricante Actel Altera Atmel Lucent QuickLogic Vantis Xilinx

SPLD Clsicos,FLASHLogic PAL PAL GAL PLA,PAL PAL


CPLD MAX 5000,7000 Y 9000 ATF, ATV FLASH370, ULTRA37000 IspLSI 1000 a 8000 XPLA MACH 1 a 5 XC9500, CoolRunner FPGA ACT 1 a 3 , MX, SX FLEX 6000,8000 Y 10K AT6000, AT40K ORCA 1 a 3 pASIC1 a 3 VF1 XC4000,Virtex, Spartan

PLDs

CPLDs

FPGAs

Integracin en un SPLD

Sustituye a 100 C.I. SSI TTL o CMOS

Soy un SPLD

PALs GALs

C.I. Series 74xx y 40xx

Arquitectura PAL
Matriz de fusibles de interconexin
Un trmino producto para control de tercer estado Suma de 7 trminos producto

Lneas especficas de entrada

Retroalimentacin desde una E/S

La Esquema circuital de un PAL


Se cuenta a lo largo de TODO EL CHIP con los literales de todas las variables de entrada (la variable y la variable negada) Mediante lgica cableada es posible generar trminos producto (AND) de la cantidad de literales que se desee Para generar la funcin slo es posible sumar (OR) hasta 7 u 8 trminos producto

PAL16L8
64 AND de 32 entradas
8 OR de 7 entradas 8 Inversores de tercer estado

16 Buffers doble salida

Aproximadamente :

200 C.I. SSI (TTL o CMOS)


serie 74xx o 40xx

PAL16R8
Un nico clock global Matriz de interconexin global

Entradas dedicadas

.................................................

Salidas de los registros Tri-State

Feedback desde los registros

Una seal global de control de TriState

Incorporacin de elementos de memoria


Ideal para la sntesis de mquinas secuenciales

Arquitectura GAL
Macroceldas lgicas de salida Suma de 8 a 16 trminos producto

La macrocelda consta de:


Un Flip-Flop Dos multiplexores

Limitaciones de los SPLD


Reducida cantidad de macroceldas. La exigencia de optar entre la retroalimentacin desde la macrocelda o desde la entrada forza que ante la necesidad de un flip-flop o de un trmino lgico intermedio a veces se deba perder una posible terminal de entrada/salida. La distribucin de todas la seales 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.

Integracin en un CPLD

Sustituye a 50 SPLDs

Soy un CPLD

PALs y GALs

CPLDs

Agrupamiento de las De lneas de macroceldas (LABs) entrada dedicadas (8 a 20) Generacin de reas de conexionado global (PIA) Generacin de reas de conexin dentro del LAB Expansores para generar trminos producto auxiliares Con un trmino producto p/control de inversin lgica Con un bloque de E/S por cada macrocelda con dual feedback De 32 a 192 macroceldas en chips de 28 a 100 terminales
Interconexin global (PIA)

Matriz de macroceldas

Bloque de control de E/S

Interconexin del LAB

4..16 pines de I/O por cada LAB

Matriz de expansores

Macrocelda y Expansores
LAB Arreglo local Clear Clock Global Global

Expansores paralelos

Desde terminal E/S

PRN D Q

Matriz

de
seleccin

Clock

ENA CLRN

hacia PIA y Bloque de control E/S

Expansores lgicos Desde PIA

FPGAs
Field Programmable Gate Array (Arreglo de compuertas programable en el campo). Es un circuito integrado que contiene celdas lgicas programables (64 a 8,000,000) Las celdas lgicas se interconectan por medio de una matriz de interconexiones programables

Arquitectura del FPGA


Bloques de E/S

Bloques Lgicos

Interconexin Programable

Bloque Lgico del FPGA

Densidades de FPGAs

Spartan II XC2S15
Spartan IIE XC2S150E Virtex E XCV50E Virtex E XCV3200E Virtex II XC2V40 Virtex II XC2V8000

15, 000* 150,000* 72,000* 4,047,000* 40,000* 8,000,000*

* Compuertas equivalentes (System gates)

Densidades de IP Cores
Encriptador AES Microcontrolador 80530 Microcontrolador 8051 Decodificador Viterbi Controlador de Ethernet Decodificador JPEG color 40,000* 130,000* 150,000* 190,000* 195,000* 780, 000*

* Compuertas equivalentes (System gates)

Costos de FPGAs
Varan dependiendo de la densidad y velocidad

Spartan 20,000 compuertas ~ US$1


Spartan 100,000 compuertas ~ US$20 Virtex 300,000 compuertas ~ US$150 Virtex II 8-millones compuertas ~ US$8,000

Xilinx vs. Altera

CPLDs

FPGAs

Software

Sistema bsico y Flujo de Diseo con Lgica Programable


Introduccin/Descripcin del Diseo Captura Esquemtica Descripcin basada en Lenguaje Realizacin/Implementacin del Diseo Translacin/Sntesis del Diseo Verificacin de Reglas de Diseo Particin y Mapeo de Lgica Asignacin o Colocacin (Place) de la Lgica en los Bloques configurables Enrutamiento (Route) Creacin de Archivo de Programacin Programacin-Dispositivo Simulacin Funcional Verificacin de la funcionalidad de la Lgica Temporizacin estimada (opcional) Simulacin Temporizada Se requiere de informacin de temporizacin posterior a los procesos de Colocacin (Place) y Enrutamiento (Route) Anlisis de Temporizacin Esttico Se requiere de informacin de temporizacin posterior al proceso de Colocacin (Place) y Enrutamiento (Route) Objetivo: Obtener resultados mejores a los de la simulacin temporizada Depuracin del diseo integrado al Sistema (In-System) siendo desarrollado Para dispositivos reprogramables Uso de otros Sistemas de Software & Hardware

Sistema Bsico de Desarrollo


Computadora Personal / Estacin de Trabajo

Software CAE/CAD p.ej. WebPack (Gratuito) de Xilinx


Programador Opcional

Verificacin del Diseo

Cul es la primera fase del diseo de un sistema digital utilizando SPLDs, CPLDs y FPGAs ?

Descripcin del Diseo

Mtodos

Captura Esquemtica (p.ej. OrCAD)


Descripcin por Lenguaje

Limitacin: Difcil o imposible la manipulacin de diseos complejos

De Bajo Nivel:

PALASM OPAL PLPL ABEL CUPL Verilog VHDL

De Alto Nivel:

Diseo utilizando lgica programable


Conclusiones :

El uso de lgica programable no descarta el uso de lgica discreta, sino que la restringe a casos muy simples. Es una herramienta rpida, de alta confiabilidad, y de bajsimo costo por compuerta. La fcil modificacin de un diseo permite asegurar el mantenimiento y actualizacin de un producto. Conocer profundamente las tcnicas de diseo lgico es la mejor manera de aprovechar la lgica programable. Se pasa del diseo por compuertas al diseo por sistemas.