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
Ing. RAUL HINOJOSA
Sistemas
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.
Ing. RAUL HINOJOSA
Sistemas
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
Ing. RAUL HINOJOSA
Sistemas
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.
Ing. RAUL HINOJOSA
Sistemas
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.
Ing. RAUL HINOJOSA
Sistemas
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)
Ing. RAUL HINOJOSA
Sistemas
Universidad Nacional San Lus Gonzaga de ICA
Esc. de Ingeniera Electrnica
Ing. RAUL HINOJOSA
Esquema
simplificado
de un PLD
Sistemas
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.
Ing. RAUL HINOJOSA
Sistemas
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)
Ing. RAUL HINOJOSA
Sistemas
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
Ing. RAUL HINOJOSA
Salidas
Matriz AND
Matriz OR
Programable
Programable
Sistemas
10
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
Sistemas
11
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.
Ing. RAUL HINOJOSA
Sistemas
12
Universidad Nacional San Lus Gonzaga de ICA
Esc. de Ingeniera Electrnica
Clases de PLDs - PLA
Entradas
Representacin
de un PLA del
Ejemplo 1
Ing. RAUL HINOJOSA
Salidas
Sistemas
13
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
Matriz OR
Programable
FIJA
Lgica de Salida
Salidas
Lgica de Salida
Ing. RAUL HINOJOSA
Sistemas
14
Universidad Nacional San Lus Gonzaga de ICA
Esc. de Ingeniera Electrnica
Clases de PLDs - PAL
Entradas
Estructura Interna del PAL
Salidas
Ing. RAUL HINOJOSA
Sistemas
15
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
Ing. RAUL HINOJOSA
Sistemas
16
Universidad Nacional San Lus Gonzaga de ICA
Esc. de Ingeniera Electrnica
Clases de PLDs - PAL
Representacin de un PAL del Ejemplo 2
Entradas
Salidas
Ing. RAUL HINOJOSA
Sistemas
17
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
Ing. RAUL HINOJOSA
Suma de hasta 7 trminos
productos
Sistemas
18
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
Lneas de entrada
Realimentacin
desde los
registros
Fusibles de Programacin
Ing. RAUL HINOJOSA
Sistemas
19
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 E 2CMOS
(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.
Ing. RAUL HINOJOSA
Sistemas
20
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
Ing. RAUL HINOJOSA
Sistemas
21
Universidad Nacional San Lus Gonzaga de ICA
Esc. de Ingeniera Electrnica
Implementacin del ejemplo 3
Ing. RAUL HINOJOSA
Sistemas
22
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
Ing. RAUL HINOJOSA
Sistemas
23
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)
Ing. RAUL HINOJOSA
Sistemas
24
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
17 entradas
dedicadas
Ing. RAUL HINOJOSA
Matriz Programable de 132*44
terminos producto
10 Macroceldas
10 entradas/salidas
Sistemas
25
Universidad Nacional San Lus Gonzaga de ICA
Esc. de Ingeniera Electrnica
Clases de PLDs -GAL
Matriz Programable ALTERA EPLD
Ing. RAUL HINOJOSA
Sistemas
26
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.
Ing. RAUL HINOJOSA
Sistemas
27
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
Ing. RAUL HINOJOSA
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
Sistemas
28
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:
Ing. RAUL HINOJOSA
Sistemas
29
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
Ing. RAUL HINOJOSA
Sistemas
30
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
..
Ing. RAUL HINOJOSA
Sistemas
31
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).
Ing. RAUL HINOJOSA
Sistemas
32
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.
Ing. RAUL HINOJOSA
Sistemas
33
Universidad Nacional San Lus Gonzaga de ICA
Esc. de Ingeniera Electrnica
PROCESO DE DESARROLLO DE PLDs
Ciclo de compilacin y verificacin lgica .
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.
Ing. RAUL HINOJOSA
Sistemas
34
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.
Ing. RAUL HINOJOSA
Sistemas
35
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.
Ing. RAUL HINOJOSA
Sistemas
36
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.
Ing. RAUL HINOJOSA
Sistemas
37
Universidad Nacional San Lus Gonzaga de ICA
Esc. de Ingeniera Electrnica
EJEMPLO CON EL COMPILADOR OrCAD/PLD
EJEMPLO DE PUERTAS BASICAS
|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
|}
Ing. RAUL HINOJOSA
Sistemas
38