You are on page 1of 38

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Introduccin

El incremento de uso de los Dispositivos Lgicos Programables es parecido al de los Microprocesadores hace unos aos. La realidad de diseo lgico actual es:
Tiempo de desarrollo cortos Complejidad creciente Bsquedas de costos cada vez menores

Las exigencias que se plantean:


Confiabilidad Testeabilidad
1

Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Las exigencias del Diseo

Tiempos de desarrollo cada vez ms cortos. Especificaciones variables o aun indefinidas en el momento de desarrollo.
Necesidad de adaptabilidad a nuevas exigencias o especificaciones.

Circuitos cada vez mas baratos y ms complejos.

2 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Beneficios del uso de los PLDs

Fcil adaptabilidad a cambios de diseo. Aumento de la vida comercial til del producto Mayor performance. Ms rpido, ms pequeo, ms confiable, ms fcil de armar. Mejora en cuanto al aprovechamiento de los recursos de ingeniera Menor costo de desarrollo
3

Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Beneficios del uso de los PLDs

Los PLDs al tener fusibles de seguridad impiden la lectura de los programas, protegiendo los diseos frente a las copias de los piratas tecnolgicos.

La lgica programable se acomoda especialmente a los pases en desarrollo como el nuestro, por La baja inversin inicial del prototipo La posibilidad de fabricar series reducidas La reduccin de la diversidad de componentes en Stock.
4

Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

DISPOITIVOS LOGICOS PROGRAMABLES


Definicin:

Los PLDs, son pequeos ASICS (Circuitos integrados de Aplicacin Especifica), configurables por el usuario.
Son capaces de realizar una determinada funcin de tipo combinacional o secuencial.

5 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Clasificacin de los PLDs


DISPOSITIVOS LOGICOS PROGRAMABLES

PLDs

CPLDs

FPGAS

PLA (Fusibles)

GAL, CMOS, PAL (Borrable elctricamente)

LCA (FPGA-Tablas)

PAL (Fusibles)

EPLDs (Borrable elctricamente)

FPGA (de antifusibles)

6 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Esquema simplificado de un PLD

7 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

CARACTERISTICAS GENERALES DE LOS PLDs


En la fabricacin de PLDs se utiliza tecnologa bipolar TTL o ECL y tecnologa CMOS. Los dispositivos bipolares son ms rpidos y consumen ms que los dispositivos CMOS. Actualmente los PLDs bipolares presentan retardos de propagacin inferiores a 7 nsg y los consumos tpicos rondan los 100-200 mA para un chip con 20-24 patillas. Mientras los PLDs bipolares slo pueden programarse una vez, la mayora de los PLDs CMOS son reprogramables y permiten una fcil verificacin por parte del usuario. A los PLDs CMOS borrables por radiacin ultravioleta se les denomina EPLD y a los borrables elctricamente se los conoce por EEPLD.
8

Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

CARACTERISTICAS GENERALES DE LOS PLDs

Si consultamos las hojas de datos de una PALCE16V8H-20, encontramos claves que permiten extraer valiosa informacin del nombre del dispositivo. PAL Programamble Array Logic CE C-MOS Electrically Erasable 16V8 16 entradas a la matriz de puertas AND y 8 salidas H Half Power ( ICC = 90 mA) 20 Tiempo de propagacin (20 mSeg) Tambin existen: PALCE16V8Q (Quarter Power Icc = 55 mA) PALCE16V8Z (Zero Power) con un bajsimo consumo esttico de potencia. ( < 10mA)

9 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Clases de PLDs

1. PLA (Programable Logic Array)


Es un PLD formado por una matriz AND y OR
programables.
Entradas
Matriz AND Matriz OR

Salidas

Programable

Programable

10 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Clases de PLDs
Estructura Interna del PLA Variables de Entradas

Salidas Programadas
Ing. RAUL HINOJOSA SANCHEZ

11

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Clases de PLDs

Ejemplo 1
Implementar con funciones lgicas:

un

PLA

las

siguientes

F1 (A,B,C,D,E) = ABD+ BC D + AB C D E F2 (A,B,C,D,E) = AB E + BC D E F3 (A,B,C,D,E) = ABD+ BCDE + AB C D Solucin: Se tiene 5 variables, entonces el PLA debe tener 5 entradas. Se van a generar 7 trminos productos nicos. Como hay 3 funciones se debe tener 3 trminos OR.
12 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Clases de PLDs - PLA


Entradas

Representacin
de un PLA del Ejemplo 1

Salidas

13 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Clases de PLDs - PAL

2. PAL (Programable Array Logic)


Es un PLD formado por una matriz AND programable y una OR fija con una lgica de salida.

Entradas
Lgica de Salida Matriz AND Programable Matriz OR FIJA

Lgica de Salida

Salidas

Lgica de Salida

14 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Clases de PLDs - PAL


Entradas
Estructura Interna del PAL

Salidas

15 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Clases de PLDs - PAL


Ejemplo 2: Disear un PAL que realice las siguientes dos funciones lgicas y muestre las conexiones internas. F1 (A,B,C,D) = (0,1,3,7,13,15) F2 (A,B,C,D) = (0,2,4,5,8,10) Solucin: Simplificando las funciones lgicas tenemos: F1 = ABC+ AC D + A B D F2 = BD+ AB C

16 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Clases de PLDs - PAL


Representacin de un PAL del Ejemplo 2

Entradas

Salidas

17 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Estructura de un PAL16L8
1er fusible Termino producto para control de salida Lneas de entrada Realimentacin Fusibles de Programacin Suma de hasta 7 trminos productos
18 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Estructura de un PAL16R8
1er fusible

Un nico clock general

Salidas de los registros a travez de un tri-state

Ing. RAUL HINOJOSA SANCHEZ

Lneas de entrada Realimentacin desde los registros Fusibles de Programacin


19

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Clases de PLDs -GAL

3. GAL( Generic Logic Array) Al igual que la Pal, tiene una matriz AND programable y una matriz OR fija, con una salida lgica programable. Las principales diferencias entre los GALs y los PALs son:
Es repogramable porque usa tecnologa E2CMOS (Electrically Erasable CMOS) en lugar de tecnologa bipolar y fusibles.

Las salidas tienen unas macroceladas lgicas (OLMC) que estn formadas por unos circuitos lgicos que pueden programarse como lgica combinacional o lgica secuencial.
20

Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Clases de PLDs -GAL


Ejemplo 3:

Disear un GAL que realice las siguientes tres funciones lgicas y muestre las conexiones internas. F1 (A,B,C,D) = (0,2,7,10) + d(12,15) F2 (A,B,C,D) = (2,4,5)+ d(6,7,8,10) F3 (A,B,C,D) = (2,7,8) + d(0,5,13) Solucin: Simplificando las funciones lgicas tenemos: F1 = ABD+ BC D+ AB C D F2 = AB + BC D F3 = ABD+ BCD+ AB C D

21 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Implementacin del ejemplo 3

22 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Caractersticas de la GAL 22V10

Diagrama en bloques con los pines de entrada/salida de la GAL 22V10


23 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Caractersticas de la GAL 22V10


MUX de Salida Activacin de Salida

MUX de Realimentacin

Fusibles Representacin de una OLMC ( OUTPUT LOGIC MACRO CELL)


24

Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Caractersticas de la GAL 22V10


Puede ser usada como entrada de clock o de datos 10 Macroceldas

17 entradas dedicadas
Ing. RAUL HINOJOSA SANCHEZ

Matriz Programable de 132*44 terminos producto

10 entradas/salidas

25

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Clases de PLDs -GAL

Matriz Programable ALTERA EPLD


26 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Caractersticas de la GAL 22V10

Tiene 12 entradas dedicadas y 10 E/S Dispone de 10 macroceldas, de las cuales:


Dos tienen 8 operaciones producto (nmero de lneas de la matriz AND a la puerta OR) Dos tienen 10 operaciones producto. Otras dos doce, otras dos catorce, y otras dos diecisis. Cada OLMC puede programarse para que el nivel activo de salida sea alto o bajo y tambin, pueden programarse como entradas.

27 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Caractersticas de la GAL 22V10

Cada OLMC puede configurarse como entrada o salida combinacional, o como salida secuencial. La configuracin se establece automticamente mediante programacin.

Las cuatro configuraciones de las macroceldas lgicas programables son:


Modo Modo Modo Modo Combinacional con salida activa a nivel bajo Combinacional con salida activa a nivel alto Secuencial con salida activa a nivel bajo secuencial con salida activa a nivel alto

28 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

SOFTWARE PARA DISEO DE PLDs

Para programar PLDs hay herramientas especficas y herramientas universales. Las herramientas especficas las suministran los propios fabricantes de PLDs, que se preocupan de actualizadas rpidamente para soportar a los nuevos dispositivos fabricados. Algunas de las compaas ms conocidas que ofrecen software de programacin de PLDs son:

29 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

SOFTWARE PARA DISEO DE PLDs

Altera Corporation Suministra los paquetes de software A + PLUS para trabajar con las familias de dispositivos EP300..EP1800, MAX + PLUS para la familia MAX de arquitectura modular y SAM + PLUS para los usuarios del secuenciador SAM de Altera.

AMD (Advanced Micro Devices) Se trata de un fabricante de microprocesadores que ofrece una herramienta llamada PALASM para programar sus PALs. El ensamblador PALASM, junto con la abundante documentacin de diseo ofrecida por MMI, fueron en gran parte responsables de la rpida aceptacin (que todava perdura) de las PALs de MMI

30 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

SOFTWARE PARA DISEO DE PLDs

National Semiconductor Distribuye el software PLAN (Programmable Logic Analysis) para soportar a sus PLDs. Admite ms formas de entrada que PALASM y no necesita que se especifique el dispositivo. De hecho, un programa de PLAN es capaz de seleccionar el dispositivo adecuado y realizar la asignacin de patillas. OrCAD Systems Corporation. Dispone de un compilador universal de lgica programable OrCAD/PLD que acepta ecuaciones, ecuaciones indexadas, mapas numricos, esquemas, mquinas de estados, tablas de verdad y streams. Le acompaa un simulador funcional que genera automticamente los vectores de test
..

31 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

SOFTWARE PARA DISEO DE PLDs

Philips-Signetics. Es un fabricante de circuitos integrados con una gran oferta en dispositivos FPLA. Posee un software especfico para sus PLDs llamado AMAZE (Automated Map And Zap Equations) que acepta ecuaciones, tablas de estados y esquemas capturados con OrCAD/SDT o con FutureNet. AMAZE est formado por cinco mdulos, entre los que se encuentra un simulador funcional y temporal que genera automticamente los vectores de test. Tambin dispone de un software destinado a sus dispositivos ms avanzados, los Programmable Macro Logic o PML llamado SNAP (Syntesis, Netlist, Analysis And Programming).
32

Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

PROCESO DE DESARROLLO DE PLDs

Diseo

Es la etapa en la que se concibe y describe la funcin lgica o los datos que se almacenarn en el PLD. El diseo se realiza utilizando un editor de textos o un software de captura de esquemas. Mediante el editor de textos, la lgica puede expresarse en forma de tablas de verdad, ecuaciones de alto nivel, mquinas de estados, etc.
33

Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

PROCESO DE DESARROLLO DE PLDs


Ciclo de lgica.

compilacin

verificacin

En este ciclo tiene lugar la simplificacin de las formas de entrada definidas en la etapa de diseo o se sealan los fallos de sintaxis detectados. Si en la etapa de diseo se especifica un determinado PLD, se genera un fichero en formato JEDEC que contiene informacin sobre el estado en que deben quedar los fusibles del PLD elegido. El fichero en formato JEDEC servir para la programacin posterior del chip en un equipo comercial. Si en la etapa de diseo en lugar de una PAL o FPLA se especifica una PROM, la mayora de los compiladores de PLDs generan un fichero ASCII con un formato diferente al JEDEC.
34

Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

PROCESO DE DESARROLLO DE PLDs Programacin

Para transportar la salida del compilador contenida en el fichero JEDEC al chip, se utiliza un programador de PLDs.
La mayora de los equipos de programacin verifican el estado de los fusibles para asegurarse de que la programacin ha sido correcta.

35 Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

PROCESO DE DESARROLLO DE PLDs Verificacin del dispositivo

Consiste en aplicar fsicamente los vectores de test al dispositivo programado y comparar la salida real con la salida esperada. Este paso se realiza en el programador de PLDs, inmediatamente despus de la programacin.
Es importante que los vectores de test hayan sido diseados de forma que pongan a prueba la totalidad de los nodo s internos del PLD, de esta forma se evita que puedan utilizarse PLD defectuosos que resultaran ms difciles de detectar una vez montados en placas de circuito impreso.
36

Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

Programacin de los PLDs

Para poder programar estos PLDs, son necesarios los siguientes componentes:
Computador que cumpla los requerimientos del Compilador. Editor de texto (Edit, Word Pad, etc) Compilador de PLDs: ( Orcad-PLD, CUPL, Altera) Programador Universal de Circuitos Integrados.
37

Ing. RAUL HINOJOSA SANCHEZ

Sistemas Digitales

Universidad Nacional San Lus Gonzaga de ICA

Esc. de Ingeniera Electrnica

EJEMPLO CON EL COMPILADOR OrCAD/PLD

|PAL12H6 |in: (A, B, C, D, E, F, G), out:Y[1..6] |Y1 = A & B |AND |Y2 = C # D |OR |Y3 = B ## F |XOR |Y4 = G |NOT |Y5 = (B & C) |NAND |Y6 = (E # F) |NOR |Vectors: |{ | display A, B, C, A & B = Y1, (B & C) = , Y5 |test A,B,C |end |}
38 Ing. RAUL HINOJOSA SANCHEZ

EJEMPLO DE PUERTAS BASICAS

Sistemas Digitales

You might also like