Você está na página 1de 38

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

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.

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

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

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.

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

Esquema
simplificado
de un PLD

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

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

Clases de PLDs

1. PLA (Programable Logic Array)


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

Salidas

Matriz AND

Matriz OR

Programable

Programable

10

Clases de PLDs
Estructura Interna del PLA
Variables de Entradas

Salidas Programadas

11

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

Clases de PLDs - PLA


Entradas

Representacin
de un PLA del
Ejemplo 1

Salidas

13

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

14

Clases de PLDs - PAL


Entradas

Estructura Interna del PAL

Salidas

15

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

Clases de PLDs - PAL


Representacin de un PAL del Ejemplo 2

Entradas

Salidas

17

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

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
19

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.
20

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

Implementacin del ejemplo 3

22

Caractersticas de la GAL 22V10

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


23

Caractersticas de la GAL 22V10


MUX de Salida

Activacin de Salida

MUX de Realimentacin

Fusibles
Representacin de una OLMC ( OUTPUT LOGIC MACRO CELL)
24

Caractersticas de la GAL 22V10


Puede ser usada como
entrada de clock o de datos

17 entradas
dedicadas

Matriz Programable de 132*44


terminos producto

10 Macroceldas

10 entradas/salidas

25

Clases de PLDs -GAL

Matriz Programable ALTERA EPLD


26

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

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

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

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

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

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

PROCESO DE DESARROLLO DE PLDs

Diseo

Es la etapa en
funcin lgica o
el PLD.

la que se concibe y describe la


los datos que se almacenarn en

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

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.
34

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

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

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

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
|}
38

Você também pode gostar