Академический Документы
Профессиональный Документы
Культура Документы
Logic Device) es una acepcin genrica establecida para cualquier sistema digital cuyo
funcionamiento est determinado por el usuario, despus que dicho dispositivo fuera fabricado.
Al referirnos a usuario, generalmente nos dirigimos a un profesional del diseo lgico, aunque
pudiera ser realmente el cliente final. Al hablar aqu de circuitos digitales en forma general, nos
referimos a todos los sistemas digitales incluyendo por supuesto a los combinacionales y
secuenciales.
PLD Pgina 1 de 68
Debido a la gran diversidad de oferta de estos dispositivos programables
por los diferentes fabricantes, y que con diferentes nombres se suelen presentar elementos muy
parecidos, es que antes de estudiar en detalle el funcionamiento, estructura interna, etc. de los
mismos, vamos a realizar una clasificacin lo ms completa y simple posible.
CLASIFICACION GENERAL
PLD Pgina 2 de 68
3. GAL (Generic Array Logic) Son equivalente a las memorias EEPROM, es decir que
permiten ser borradas y grabadas elctricamente. Se pueden establecer la siguientes
subfamilias:
4. ASIC: Son circuitos digitales completos, de uso directo por los diseadores, sin
necesidad de programacin posterior. Aparecieron al mismo tiempo que las PAL, pero
como son programables por mscaras en fbrica slo se aplica a grandes producciones
en serie, pues su costo es elevado y su amortizacin se justifica solo en esos casos.
5. LCA (Logic Cell Array) FPGA (Field Programmable Gate Array) red de celdas lgicas.
Podemos decir que es un producto similar a las ASIC, pero programables por el usuario.
Se caracteriza por poseer una gran cantidad de bloques funcionales bsicos, que en el
estadio de diseo e implementacin el usuario interconecta para obtener las funciones
lgicas deseadas.
PLD Pgina 3 de 68
A pesar, de que en la seccin anterior se ha realizado una clasificacin
de stas redes programables, cabe indicar que ellas surgieron a comienzos de la dcada del
70 con el nombre de PAL. Este concepto fue introducido, y podemos decir inventado por la
desaparecida empresa MMI (Monolithic Memories Inc.), actualmente absorbida por AMD
(American Micro Devices). Cabe recordar que MMI fue pionera y primer fabricante de memorias
PROM de fusibles; que no son ni ms ni menos que PAL con matriz Y fija y O programable. Por
ello, para ampliar el rango de uso de dispositivos programables introduce el concepto de matriz
Y programable y matriz O fija. Evidentemente esta idea es original y simple, es decir, el uso de
la tecnologa de componentes electrnicos que se queman para obtener circuitos lgicos
variados. Esto es, manipulados desde el exterior del circuito integrado, obtener redes lgicas
cuyo conexionado interno se vara a voluntad del usuario.
Concepto y Notacin:
Generalizando, estas estructuras lgicas programables tienen una
configuracin interna de p productos lgicos y s sumas lgicas, con una cantidad n de entradas
y m salidas( igual a s). . Por ello, con este tipo de dispositivo se pueden obtener funciones
lgicas sumas de productos . No tienen la posibilidad de realizar todos los trminos cannicos
para tal cantidad de entradas. La forma de nominarlas es n x m con p productos .
En la figura N 1 vemos una red lgica de 4 x 3 con 6 minterms
PLD Pgina 4 de 68
Fig. N 1.2: Origen y evolucin de la notacin para redes lgicas programables
Clasificacin:
PLD Pgina 5 de 68
Segn se estableci oportunamente, las redes lgicas programables se
trata de un arreglo estructurado de compuertas lgicas, agrupadas en dos matrices bien
diferenciadas: una de compuertas AND y otra de compuertas OR, y segn su
programabilidad se las puede dividir en tres grandes subfamilias, segn cual sea la matriz
programable dentro dispositivo lgico:
a) PLA FPLA. (Considerando Programmable Logic Array Field Programmable Logic Array)
Se trata de las redes lgicas programables ms completas, por cuanto contienen una matriz
Y y una matriz O programable . Est representado por circuitos, como los ya descriptos, y
vemos en la siguiente figura:
Fig N 1.5: Red lgica programable tipo PLA FPLA: matriz O y matriz Y programable
Podemos decir que antes de programar esta red lgica, las funciones de slida Oi son:
Oi (D;C;B;A)= (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)
Direccionamiento
PLD Pgina 6 de 68
Fig N 1.6: Red lgica programable tipo PROM: matriz Y fija / matriz O programable
PLD Pgina 7 de 68
Fig N 1.7: Estructura interna de una PAL en forma genrica
Entradas: Todas ellas poseen un cierto nmero, que invariablemente terminan en forma
directa y complementada sobre la matriz de programacin.
Salidas: A diferencia de las anteriores pueden tomar varias configuraciones. Siempre se realiza
a travs de un buffer de tres estados, directo inversor. Este buffer es controlado por dos
posibles tipos de seales: desde la zona de fusibles, desde una entrada dedicada
especialmente a tal funcin: habilitacin de salida (Ouput Enable). Por ello, esto implica que el
estado de salida, lgico de alta impedancia, puede ser manejado por variables del sistema
por seales dedicadas. Puede tratarse de un terminal de salida exclusivamente, de un terminal
bidireccional, es decir que cumpla con dos funciones alternativamente, sea entrada/salida.
En las PAL secuenciales, la salida no tiene realimentacin, y por lo general es controlada por
una entrada dedicada a esa funcin, para todas las salidas en conjunto a travs de una lnea
comn llamada habilitacin de salidas (Ouput Enable).
Arreglo lgico: Aqu se establece la tpica suma lgica de compuertas Y, es siempre del tipo
combinacional, como se ve en la fig N 7.
PLD Pgina 8 de 68
En el caso de PAL secuenciales simples, la celda de salida est realizada por un biestable, por
lo general del tipo D, como se ve en la fig. N 9. En estos casos los controles del reloj de los
biestables son comunes a todas las salidas y manejados por una lnea de especfica llamada
CLOCK.
En el caso de PAL complejas, la celda de salida est compuesta por varios elementos digitales,
en general programables, como se ver luego, logrndose estructuras programables mucho
ms verstiles que las analizadas. Son ejemplos de este tipo las PAL Verstiles VPAL y las
PAL Asncrona de Registro. En estos casos los controles del reloj tambin son totalmente
programables, en cuanto a la funcin que maneja su lgica, como el flanco que dispara al
biestable correspondiente.
Tambin existe un caso especial de arreglo lgico secuencial, que si bien no es muy
generalizado, existe y es el caso de las PAL O-Exclusivas, mostradas en la figura N 10. Son
muy parecidas a las PAL secuenciales simples, slo que incluyen una funcin O-exclusiva a
nivel de la salida de la zona de fusibles. Esto permite la realizacin la funcin de memorizacin,
especialmente en contadores y secuenciadores.
PAL: Nomenclatura
Si bien existe una gran disparidad de referencias en el momento de
catalogarlas, algunos fabricantes han tratado de establecer una normalizacin bsica, cuyos
lineamientos generales se indicar a continuacin. Veremos la nomenclatura adoptada por AMD
y Texas Instruments, que asemejan bastante sus principios.
PLD Pgina 9 de 68
CE PAL CMOS
Ejemplos:
PLD Pgina 10 de 68
PAL16R8H15PC : Indica que se trata de una PAL Bipolar, que tiene 16 entradas y que es
una PAL de Registros. Dispone de 8 salidas, es un modelo de medina
potencia , tiene encapsulado plstico DIL, y trabaja en el rango de
temperaturas normales.
Clasificacin:
Segn la caracterstica que se analize, se las puede clasificar de dos
formas diferentes; como se ve a continuacin:
PAL Bipolares
Segn la Tecnologa
PAL CMOS
PAL Combinacionales
Segn la estructura Lgica - De registros clsicos.
PAL Secuenciales - Asncrona de registros
- Verstiles VPAL
PAL Bipolares. Son programables por fusibles, como las memorias PROM.
Al igual que sus parientes, las PROM de fusibles, aunque son realmente
de muy bajo costo, slo permiten la programacin por una nica vez, pues lo que se
realiza es la ruptura fsica de una conexin. La retencin de la informacin es infinita, por
cuanto dicha unin no puede volverse a recomponer. Por lo manifestado, vemos que no
existe ninguna posibilidad de ser borradas, y las nicas modificaciones que se pueden
realizar sobre una PAL programada es destruir los fusibles que an estn intactos.
Como las PAL bipolares no pueden ser verificadas al 100 % en el proceso de fabricacin,
cuando se produce una partida con problemas de programabilidad verificables, las
fabricas de los mismos las recambian en forma gratuita.
Durante el perodo de implementacin y prueba del prototipo y hasta tanto se ajuste el
diseo, se realiza una gran quema de dispositivos, aumentando considerablemente el
costo de desarrollo. Pero luego en el proceso de fabricacin, una vez que el prototipo
est depurado resultan con una mejor relacin costo/perfomance.
Los tiempo de propagacin duplican a las PAL CMOS, y actualmente estn en el orden
de 4 a 5 nseg.
En la actualidad, salvo casos muy especiales, han cado en desuso por ser obsoletas
frente a otros productos, con mejores prestaciones.
PAL CMOS: Para solucionar el problema presentado por las PAL Bipolares , se
desarrollaron dispositivos programables elctricamente y borrables elctricamente por
PLD Pgina 11 de 68
radiacin de luz ultravioleta. Por ello en la actualidad existen dos familias de PAL CMOS:
UV-CmosPAL y EE-CmosPAL. Es un dispositivo idntico a las GAL, pero como Lattice
Semiconductor fue quien las puso primero en el mercado y obtuvo la patente
correspondiente. Los nuevos fabricantes, como AMD y Ciprs, las incluyeron dentro de
las PAL, pero con el nombre de PAL CMOS. Considerando el concepto de borrado, las
UVCmosPAL se parecen a los EPLD, y las EECmosPAL a las GAL.
Como mencionaramos en el item anterior, la aparicin en el mercado de las PAL CMOS (
los circuitos programables equivalentes como GAL EPLD) ha posibilitado mejorar la
fase de puesta a punto de un producto, por cuanto la posibilidad de borrado reduce
notablemente los costos. Debido a la reduccin considerable que han sufrido los costos
de estos productos, es que tambin se los utiliza ampliamente en la fase de produccin.
Existen reemplazos directos, de las Bipolares, no slo de la estructura lgica sino pata a
pata. Y como algunas familias han incorporado importantes innovaciones en su
arquitectura interna, se pueden reemplazar todas las PAL bipolares por CMOS, apelando
a una adecuada programacin de las celdas de salida.
Actualmente, se han logrado tiempos de propagacin muy buenos, en el orden de los 10
nseg; por lo cual la enorme ventaja de ser borrables, las hace un producto cada vez ms
usado. Resultando muy pocos los casos dnde la velocidad es el parmetro crtico, deba
usarse otro componente programable.
Todas las PAL, tanto Bipolares como CMOS se programan con equipos apropiados, los cuales
pueden ser autnomos simplemente placas para ser colocadas en computadores personales.
Tambin, en ambos casos, se puede realizar un desarrollo manual apelar a poderosas
herramientas de diseo, con software dedicado a tal fin.
PLD Pgina 12 de 68
Podemos mencionar numerosos ejemplos, con arquitecturas internas
diversas, pero siguiendo los lineamientos ya desarrollados. Permitiendo variar el nmero de
entradas y de salidas, como tambin la configuracin de ellas, de acuerdo a lo indicado.
En estas ltimas familias, en general la mayora de los fabricantes las suministran con
encapsulado DIL en circuitos integrados de 20 24 patitas. Por ello, se las conoce
prcticamente como la familia de las PAL de 20 patas de las familias de las PAL de 24 patas.
Esto se puede verificar ampliamente en los manuales de cada fabricante. A ttulo de ejemplo
vemos a continuacin la clsica PAL 16L8, encapsulada en un CI de 20 patas. Dicha
nomenclatura define una PAL combinacional con salida activa en bajo, 16 entradas y 8 salidas.
PLD Pgina 13 de 68
Analizando la figura anterior, podemos ver que se trata de una
configuracin con 10 entradas especficas( I ), 2 salidas especficas ( O ) y 6 entradas/salidas
(I/O). Adems en la siguiente tabla se puede apreciar una idea aproximada de los principales
parmetros de esta PAL 16L8 de AMD.
En la actualidad prcticamente han dejado de fabricarse, pues han sido desplazadas por
circuitos ms verstiles y complejos.
a) De registros clsicos.
b) PAL asncrona de registros.
c) PAL Verstiles VPAL.
a) De registros clsicos:
Existen algunas versiones, como la PAL 16R6 la PAL 16R4, que combinan en el mismo
circuito integrado, un sector de PAL de registros y otro de PAL combinacional.
PLD Pgina 14 de 68
Fig N 1.13:
Estructura interna de una PAL secuencial 16R8.
PLD Pgina 15 de 68
Fig N 1.14: Celda de salida de una PAL asncrona de Registros. (doc,. AMD).
Fig N 1.15: Combinacionales activa en bajo Fig N 1.16: Combinacionales activa en alto
Y con una estructura secuencial segn se puede apreciar en las figuras N 17 y 18.
PLD Pgina 16 de 68
Fig N 1.17: Secuencial activo en bajo Fig N 1.18: Secuencial activo en alto
PLD Pgina 17 de 68
macrocelda an ms compleja en su estructura programable. Existen dos tipos de VPAL,
caracterizada por la estructura de la celda de salida, pero fundamentalmente por el tipo de
tecnologa con el cual han sido fabricadas:
a) VPAL Bipolares .
S1 S2 Configuracin Salida
0 0 Registro. Activo en bajo
0 1 Registro. Activo en alto
1 0 Combinacional, activo en bajo
1 1 Combinacional, activo en alto
Bajo estas condiciones, la celda toma alguna de las siguientes configuraciones; dnde podr
observarse que tenemos todas las estructuras de las PAL simples.
PLD Pgina 18 de 68
Registro, activo en alto Combinacional, activo en alto
Fig. n
1.21:Configuracin interna parcial de una PAL 22V10 (doc. AMD)
En ella puede observarse que los biestables que conforman las celdas
de salida pueden setearse resetearse, pero en forma global. Pues la puesta a uno y a cero
son comunes a todos los biestables del circuito, y no independiente por cada una de ellas, como
en el caso de las PAL asncronas de registros. Adems, no son accesibles directamente al
usuario, sino slo a travs de la matriz de fusibles.
PLD Pgina 19 de 68
Adems, por lo general se incluye una circuitera extra de
preinicializacin automtica; con el fin de que todos los biestables lleven su salida a cero en el
momento de dar tensin al dispositivo.
b) VPAL CMOS:
La empresa AMD es la mayor fabricante de VPAL CMOS actual del
mercado, del cual tiene disponibles 4 familias. La base estructural de estas es muy parecido al
mencionado en el item anterior para la 22V10, pero con una arquitectura de macrocelda de
salida algo diferente, por supuesto ms compleja y por lo tanto ms flexible a las posibles
programaciones. Esto se debe a que es ms sencillo realizar integraciones en la tecnologa
MOS, y por lo tanto permite circuitos ms complejos en pastillas parecidas.
Fig. n 1.21: Macrocelda de una PAL Verstil CMOS VPAL CMOS(doc. AMD)
Vemos un biestable y tres multiplexores que permiten una gran cantidad de configuraciones. El
biestable no posee ningn tipo de preinicializacin, pero segn se programen los fusibles SG1 ,
SL0 y SL1 se logra una gran cantidad de salidas diferentes; como se ve acontinuacin:
PLD Pgina 20 de 68
000 Salida combinacional activo en bajo 001 Salida combinacional activo en alto
100 Salida
a registro activo en bajo 101 Salida a registro activo en alto
110 Entrada/Salida combinacional activo en bajo 111 Entra/Salida combinacional activo en alto
ooo O ooo
PLD Pgina 21 de 68
Son circuitos lgicos programables, cuyo nombre original es Generic
Logic Array simplemente GAL. Son en esencia muy parecidos a las redes lgicas
programables PAL, slo que al ser introducidas por otro fabricante, les cambi el nombre. Esta
empresa es Lattice Semiconductor, quien registr la marca en 1984.
Generalidades:
Cuando Lattice se propone desarrollar un circuito lgico programable
para competir con las PAL Bipolares, en auge en aquel momento, establece cinco objetivos
bsicos:
1. Lograr un circuito de reemplazo directo, no slo lgico y funcional, sino fsico pata a pata
en cualquier aplicacin. Premisa fundamental de competencia.
2. Contar con mayor flexibilidad de configuracin y programabilidad de entradas/salidas.
3. Ofrecer un producto fabricado en una tecnologa que permita velocidades comparables.
4. Permitir la verificalidad 100 % de la zona de programacin durante la fase de
fabricacin. Caracterstica imposible de cumplimentar por las PAL Bipolares, pues ello
equivaldra a hacer saltar los fusibles en dicha fase.
5. Ofrecer un consumo ms reducido, para circuitos de complejidad equivalente.
Existen en la actualidad varias familias de GAL, bsicamente reunidas en dos diferentes tipos:
PLD Pgina 22 de 68
2
PAL osp GAL16V8A E CMOS PAL Versatil Genrica 10, 15, 25 55, 115 20
2
GAL 20V8A E CMOS PAL Versatil Genrica 10, 15, 25 55, 115 24
2
GAL18V10 E CMOS PAL Versatil universal 15,20 115 20
2
GAL22V10 E CMOS PAL Versatil universal 15,20,25 130 24
2
GAL20RA10 E CMOS PAL Asncrona Reg universal 15,20 115 24
2
PAL isp ispGAL16z8 E CMOS PAL programable en circuito 20, 25 90 24
2
FPLA GAL60001 E CMOS FPLA 20, 25 90 24
Tabla 2.1: Familias GAL
XX entradas;
V cada salida a travs de celdas programables
YY salidas.
A continuacin vemos la celda de salida de todas las GAL tipo V, a las cual Lattice
las identifica con el nombre OLMC ( Ouput Logic MacroCell ). Es muy parecida, salvo
condiciones de programacin a las celdas de salidas de las VPAL desarrolladas por AMD en
tecnologa PAL EE CMOS.
PLD Pgina 23 de 68
Tipo de salida: Permite configurar si la celda ser combinacional secuencial.
Habilitacin de salida: Permite seleccionar que variable manejar la salida.
Entrada de informacin: Indica la seal que ingresa desde la red Y-programable.
Realimentacin: Permite seleccionar que seal se realimentar a la matriz Y.
Fig. N 2.2 :
GAL 16V8A: Configuracin interna ( doc. Lattice )
PLD Pgina 24 de 68
Par- Desd Hasta Descripcin Mnimo Mxim Unida
metro e o d
tPD I, I/O O Tiempo de propagacin combinacional 3 10 nseg
tCO CLK Q Tiempo de Reloj a Salida 2 7 nseg
tEN I, I/O O Tiempo Salida permitida , Z a O. - 10 nseg
tEN OE* Q Tiempo Salida registro permitida , Z a Q. - 10 nseg
tDIS I, I/O O Tiempo Salida NO permitida , O a Z. - 10 nseg
tEN OE* Q Tiempo Salida NO permitida , Q a Z. - 10 nseg
tSU - - Establecer tiempo, entrada realim, antes Clk 10 - nseg
th - - Retener tiempo, entrada realim, antes Clk 0 - nseg
tW - - Duracin impulso reloj, Alto / Bajo 8/8 - nseg
fclk - - Frec. reloj sin realimentacin = 1/ (tWH + tW ) - 62.5 Mhz
fclk - - Frec. reloj con realimentacin = 1/ (tSU + tCO ) - 58,8 Mhz
Tabla N 2.2: Caractersticas de conmutacin de la GAL 16V8A ( principales).
Vemos que tiene una estructura interna muy parecida a una PAL
equivalente, con la nica diferencia y ventaja que los bloques OLMC tienen mayor flexibilidad de
programacin que las celdas de salida de las VPAL, y adems son borrables elctricamente.
Fig. N 2.3 : Celda de salida de las GAL asncrona de Registros (Incluida en la GAL 20RA10)
Podemos decir que son idnticas a las GAL de tipo V, pero con la ventaja que
pueden ser programadas y reprogramadas en cualquier instante en el propio circuito
PLD Pgina 25 de 68
sobre el cual estn montadas, sin necesidad de ser extradas. Esta programacin
usa la tensin de alimentacin normal (5 volts), lo que da an ms ventajas a la
instalacin.
Con el objeto de realizar la programacin mencionada, sin interferir con
el funcionamiento lgico de las mismas, presenta 4 patas especiales:
Fig. N 2.4 :
Configuracin interna dela ispGAL 16Z8A ( doc. Lattice )
Podemos ver que la estructura interna estructura lgica funcional es
idntica a la de su equivalente programable fuera del circuito GAL16V8. Inclusive las
macroceldas de salida OLMC son iguales. Pero aparecen dos circuitos de control especiales,
que utilizan las variables descriptas, para realizar la programacin y reprogramacin in circuit
de las mismas. Luego que la GAL ha sido programad, estos complejos procesadores de
programacin no interfieren para nada con la lgica de trabajo establecida.
PLD Pgina 26 de 68
Como se observa en el siguiente esquema, para simplificar el desarrollo
de las aplicaciones que utilizan estos circuitos, los mismos pueden conectarse en cascada, a
travs del uso de las seales de control definidas precedentemente.
Este circuito cuenta con una lgica de control que puede programar
varios circuitos simultneamente. La misma tambin sirve para leerlos con el objeto de verificar
su correcta programacin. Esta lgica est realizada a travs de un sistema secuencial sncrono
de proceso discreto integrado, como en caso de un microprocesador microcomputador.
Fig. N 2.5 : ispGAL 16Z8A - Configuracin para programacin en cascada ( doc. Lattice )
PLD Pgina 27 de 68
1. Matriz Y de entrada programable.
Fig. N 2.6 :
GAL Tipo FPLA: Macroceldas de entrada y entrada/salida, en sus distintas configuraciones
PLD Pgina 28 de 68
5. OLMC: ( Ouput Logic MacroCell ) Macrocelda de salida. El concepto de esta
macrocelda es igual al de todas las PAL y GAL vistas .
En los tres modos de programacin , en el caso de las celdas OLMC, tiene una
entrada OR-Exclusiva que permite seleccionar la polaridad de la seal de activacin
del biestable, como puede verse en la sig figura.
PLD Pgina 29 de 68
Fig. N 2.7 : GAL Tipo FPLA: Macroceldas de salida y ocultas, en sus distintas configuraciones.
PLD Pgina 30 de 68
Fig. N 2.8: GAL 6001: Estructura interna ( doc. Lattice )
Adems la matriz de entrada y salida son excepcionales, por ello analizamos a continuacin su
estructura:
Al igual que las PAL y GAL CMOS, posee un circuito especial dedicado al reset automtico
cuando se aplica tensin al mismo; posibilitando partir de un estado inicial perfectamente
conocido.
PLD Pgina 31 de 68
Son circuitos lgicos programables, cuya caracterstica ms importantes,
es que se pueden borrar y volver a programar. De all nace su nombre Erasable
Programmable Logic Device sus siglas EPLD. Son bsicamente circuitos lgicos
programables elctricamente y borrables por la exposicin a radiacin ultravioleta (UV), de una
cierta longitud de onda y potencia. Fueron desarrollados por la empresa Altera, hacia fines del
ao 1984 e introducidos en el mercado de los circuitos lgicos programables para competir con
las PAL, y las GAL de reciente aparicin.
PLD Pgina 32 de 68
Con la comercializacin de los EPLD, Altera buscaba tres objetivos bsicos, a saber:
Gran Densidad de integracin, muy por encima de la que las PAL ofrecan en
aquella poca y muy cercana a lo que ofrecan las redes de compuertas
programables (FPGA).
Alta velocidad de trabajo, lo ms cercana a las PAL Bipolares y muy por encima
de las redes de lgicas tradicionales.
Posibilidad de borrado, ya que en aquel momento haban muy pocos
dispositivos que permitan tal caracterstica.
PLD Pgina 33 de 68
ya que no aceptan bajo ningn motivo seal en sus
entradas si dicho circuito no est alimentado.
Al igual que todos los circuitos programables estudiados hasta ahora, los
EPLD tienen una celda de seguraidad, que una vez programada no permite la lectura interna
del dispositivo; impidiendo toda copia del mismo. Esta celda no se puede borrar aisladamente,
sino que se debe borrar toda la programacin del EPLD.
Macrocelda de EPLD
Al igual que en las GAL y PAL CMOS, en las EPLD tambin
existen las celdas programables. A continuacin vemos una macrocelda tpica.
|
Zona de la Red Lgica | Zona de Registro | Zona deSalida |
Fig. N 4.3: Macrocelda tpica de un EPLD
PLD Pgina 34 de 68
En el esquema presentado en la Fig. 4.1 podemos ver tres zonas bien
diferenciadas: Zona de la red lgica, zona del registro y de salida. Estas Zonas pueden tomar
diferentes configuraciones segn la programacin realizada, llegando a obtener estructuras
genricas como las mostradas en la fig. 4.3 .
1. Zona de la red lgica: Evidentemente una parte importante de ella est constituida por
la matriz de conexiones programables; y en la cual se presenta la misma estructura de
uniones vistas en las PAL clsicas. Se observa una particularidad, y es que las seales
utilizables estn agrupadas en tres bloques segn el origen de dicha seal, a saber:
seales de entrada propiamente dichas provenientes de las patas dedicadas a tal fin;
seales de entrada/salida y seales dirigidas desde otras macroceldas. Como vemos las
posibilidades de conexin son muy grandes y diversas.
PLD Pgina 35 de 68
entrada/salida como se ve en la fig. N 4.5 .
No ocurre lo mismo con las patas de
entradas dedicadas.
Fig. N 4.5: Detalle de la zona de salida de un EPLD clsico.
Tipos de EPLD
Desde la introduccin de las primeras EPLD en el mercado, Altera se ha
esforzado por cumplir con las premisas que se propuso, y esto se ve reflejado en la gran
TM
variedad de productos para usos generales que posee actualmente: PLD Clsicos (Classic
PLD), MAX 3000, MAX 5000, MAX 7000, MAX, 9000, FLEX 6000, FLEX 8000, FLEX 10K, Y
APEX 20K. La familia clsica y MAX Multiple Array Matrix utilizan la arquitectura de sumatoria
de productos con una matriz Y-Programable y una O-Fija. La familia FLEX Flexible Logic
Element Matrix utiliza la arquitectura de generador de funciones combinacionales LUT (Look-
up table) junto con elementos secuenciales. Y finalmente la familia APEX Advanced
Programmable Logic Matrix combina las dos arquitecturas indicadas.
EPLD Especficas
PLD Pgina 36 de 68
Son del tipo UV-EPROM, es decir grabables elctricamente y borrables
por ultravioleta. En los encapsulados con ventana de borrado pueden ser el 100 %
testeados en fbrica.
PLD Pgina 37 de 68
Fig N 4.7: Arquitectura interna general de un EPLD clsico.
Bus Global: Bus que incorpora todas las seales lgicas de entradas dedicadas,
entradas/salidas, realimentacin de macroceldas y reloj en su forma acertada
complementada.
Bus Local: Bus que incorpora algunas seales lgicas de entradas dedicadas,
entradas/salidas, realimentacin de macroceldas y reloj en su forma acertada
complementada.
Fig N 4.8:
Macroceldas Locales: Posibilidades de conexin.
Las macroceldas globales tienen acceso a los mismos recursos que los
indicados, pero adems pueden reinyectar su seal en el bus local, como se ve en la fig.N 4.9.
PLD Pgina 38 de 68
Fig N 4.8: Macroceldas Locales: Posibilidades de conexin
PLD Pgina 39 de 68
Fig. N 4.9: Macrocelda de la familia clsica de Altera
3. Seleccin de reloj y habilitacin de salida: Los EPLD de esta familia tienen dos modos
de operacin, a travs del adecuado uso del selector OE/CLK ( Fig. N 4.9). Este es
controlado por la programacin de un nico bit y puede ser configurado en forma
individual para cada macrocelda.
PLD Pgina 40 de 68
4. Seleccin de realimentacin: Esta caracterstica es controlado por un multiplexor
especfico, llamado precisamente Feedback multiplexer . Se puede realimentar la
salida especfica de la macrocelda desde la salida Q del biestable la pata de
entrada/salida correspondiente a la misma macrocelda; pero luego del buffer controlado.
Adems se puede realimentar al bus global al bus local adecuadamente; y en
dispositivos ms avanzados, a ambos a la vez con un doble multiplexor de
realimentacin.
Estrategias de seguridad:
Tiempos de propagacin:
PLD Pgina 41 de 68
Condiciones de Operacin:
PLD Pgina 42 de 68
Y bsicamente es importante apreciar la variacin de la corriente de
alimentacin ( consumo) con la frecuencia y con el valor de tensin de salida, y cuya forma
general podemos apreciar en las siguientes curvas:
Principales circuitos de la familia clsica: Para tener una idea general y poder realizar
un anlisis comparativo presentamos los circuitos ms representativos de esta familia clsica de
la empresa Altera:
PLD Pgina 43 de 68
Fig. N 4.12 : Arquitectura interna del EP 330
b) EP610 :
PLD de alta perfomance, 16 macroceldas del tipo clsica.
Velocidad combinacional mejor que 10 nseg.
Frecuencias de contadores a 100 Mhz.
Manejo de datos continuos a 125 Mhz.
Arquitectura de entrada/salida hasta 20 entradas o 16 salidas y 2 relojes.
Reloj programable para temporizacin independiente de todos los biestables.
Macroceldas programables individualmente para operacin combinacional secuencial
con biestables D, T, JK SR.
Disponible en los siguientes encapsulados: (Ver fig. N 4.10)
SOIC 24 patas (Small Outline Integrated Circuit)
CerDIP y PDIP 24 patas (Ceramic and Plastic Dual In Line Package).
PLCC 28 patas (Plastic J-Lead Chip Carrier).
c) EP910 :
PLD de alta perfomance, 24 macroceldas del tipo csica.
Velocidad combinacional mejor que 12 nseg.
Frecuencias de contadores a 76,9 Mhz.
Manejo de datos continuos a 125 Mhz.
Arquitectura de entrada/salida programable hasta 36 entradas o 24 salidas.
Reloj programable para temporizacin independiente de todos los biestables.
Macroceldas programables individualmente para operacin combinacional secuencial
con biestables D, T, JK SR.
Disponible en los siguientes encapsulados: (Ver fig. N 4.10)
CerDIP y PDIP 40 patas (Ceramic and Plastic Dual In Line Package).
PLCC 40 patas (Plastic J-Lead Chip Carrier).
PLD Pgina 44 de 68
Fig. N 4.14 : Arquitectura interna del EP 910
d) EP1810 :
PLD de alta perfomance, 48 macroceldas del tipo csica.
Velocidad combinacional mejor que 20 nseg.
Frecuencias de contadores a 50 Mhz.
Manejo de datos continuos a 62,5 Mhz.
Arquitectura de entrada/salida programable hasta 24 entradas o 48 salidas.
Reloj programable para temporizacin independiente de todos los biestables.
Macroceldas programables individualmente para operacin combinacional secuencial
con biestables D, T, JK SR.
Disponible en los siguientes encapsulados: (Ver fig. N 4.10)
- PGA 68 patas (Ceramic Pin Grid Array).
- PLCC 68 patas (Plastic J-Lead Chip Carrier).
PLD Pgina 45 de 68
2).EPLD Complejas CPLD (Complex Programmable Logic Device):
a) Familia MAX de la serie EPMXXXX. Mltiple Array matriX., Actualmente Altera posee
varios productos, como las MAX 5000, MAX 7000 y MAX9000.
b) Familia FLEX Flexible Lgic Element Matrix. Tenemos las subfamilias FLEX 6000 y
FLEX 8000.
PLD Pgina 46 de 68
Fig. N 4.16: LAB Logical Array Block: estructura interna.
Entradas/Salidas e informacin interna: Esta ltima, generada por las salidas del
expansor y de la macrocelda ingresan a una matriz programable nueva y diferente,
llamada PIA Progammable Interconnect Array. Esta zona permite en su realimentacin
ser conectada nuevamente a la entrada de las macroceldas y los expansores, otorgando
una flexibilidad de programacin muy poderosa.
PLD Pgina 47 de 68
A ttulo de ejemplo, vemos en la fig N 4.18 la estructura interna de una
EPM 5192, dnde se puede apreciar 12 LAB que agrupan un total de 192 macroceldas,
(Recordemos que el EP1810 de la serie clsica slo tena 48 macroceldas) conectadas
todas a una PIA zona de interconexin interna gigantesca. Y tal como dijimos, en la parte
superior de las LAB se puede apreciar que las entradas dedicadas slo llegan directamente
a ellas.
PLD Pgina 48 de 68
-
El trmino FPGA, corresponde a Field Programmable Gate Array, y su traduccin sera Red de
puertas programable en campo, es decir in situ en el lugar; tambin podra decirse por el
usuario. Este tipo de dispositivo lgico programable constituye el grupo actual con ms alta
densidad de integracin, superando ampliamente el milln de puertas lgicas. Esto justifica el
nombre, lo cual nos dice que circuitos tan altamente sofisticados , con extrema densidad de
integracin, an siguen siendo programables por el usuario final con medios tcnicos y
econmicos al alcance de cualquier pequea empresa, mbito educativo laboratorio de
desarrollo.
PLD Pgina 49 de 68
Fig. N 5.1.1: Desperdicio de recursos en un PLD clsico.
PLD Pgina 50 de 68
Este objetivo, presenta algunos inconvenientes muy complejos de
resolver, como lo es el gran nmero de interconexiones entre compuertas bsicas y como
realizarlas efectivamente para que alcance la calidad de programable. La resolucin de estos
temas se basa la originalidad innovadora de esta empresa:
Para reducir la enorme cantidad de interconexiones que conlleva tener puertas elementales,
para conformar funciones ms complejas, Xilinx reestructura la idea original. La
conformacin del bloque central deja de ser una red de este tipo, implantando en dicho lugar
estructuras ms elaboradas, parecidas a las conocidas macroceldas y que denomina CLB
Configurable Logic Block. La inclusin de estos CLB ms complejos permite reducir
ampliamente el nmero de interconexiones. El resto de la pastilla sigue teniendo la misma
arquitectura, es decir la periferia la ocupa una gran cantidad de bloques de entrada/salida
programables. En la fig. 5.1.3 se ve la estructura general, dnde la arquitectura tpica se
parece a las redes de compuertas programables por mscaras.
PLD Pgina 51 de 68
2. Esta solucin utiliza una memoria PROM, para almacenar los datos de programacin
iniciales de configuracin, con un circuito secuencial anexo que frente al corte y
recuperacin de la energa, vuelve a copiar los datos en la RAM reconfigurndola
inmediatamente cada vez que se aplica tensin. Esta es quizs la mejor solucin, por
cuanto posee un circuito sencillo, y no tiene problema de prdida de informacin ante
una posible descarga de la batera.
Una alternativa de esta solucin es que exista pequeo sistema de microprocesador
microcontrolador que guarde en su memoria la informacin de configuracin de la
LCA, y frente a una eventual prdida de datos, se la transfiera haciendo uso de sus
recursos.
Por todo lo enunciado hasta ahora, vemos que la utilizacin de una RAM
para la configuracin del dispositivo programable, cambia conceptualmente todo lo referente a
ellos, en especial la puesta en funcionamiento. Esto tambin proporciona a los diseadores
nuevas e interesantes perspectivas, por cuanto el hecho de que una memoria RAM puedas ser
leda y reescrita en cualquier momento, posibilita modificar la configuracin de la lgica, inclusive
durante el funcionamiento de la aplicacin.
Arquitectura de las LCA:
De acuerdo a lo indicado hasta ahora, la estructura
interna toda LCA est compuesto por dos componentes bsicos: Celdas lgicas e
interconexionado entre ellas. Y estos, adems tienen varias formas, que podemos resumir en el
siguiente cuadro:
1. Celdas Lgicas generales CLB Configurable Logic Block
Celdas Lgicas
2. Celdas Lgicas de entrada-salida IOB Input Output Block.
a - De propsitos generales
Interconexiones b - Directas
c - Lneas largas
PLD Pgina 52 de 68
Como se ha podido apreciar en la presentacin general, podemos decir
que hay dos tipos de celdas bsicas:
PLD Pgina 53 de 68
Modo FG: se generan dos funciones
combinacionales independientes de 4
variables cada una. La variable a debe ser
comn a ambas funciones, la segunda y
tercera variable puede elegirse entre b, c,
QX y QY; y la cuarta se puede seleccionar
entre d e.
b) Bloque lgico secuencial: Conformado por dos biestables D activado por flancos, los
cuales pueden ser activados con flanco de subida de bajada, segn la programacin
escogida. Pueden tener un reset propio proveniente de la zona de interconexiones,
uno global, comn con las celdas IOB. La seal de reloj, y la de validacin de reloj
tambin proviene de la zona de interconexiones.
2. Celdas de entrada/Salida IOB: Vemos en la figura 5.1.6 una estructura tpica, la cual
puede configurarse como entrada, salida ambas simultneamente. Al igual que el CLB es
muy verstil para configurar cualquier tipo de estructura lgica, por supuesto orientado como
puerta de entrada-salida.
PLD Pgina 54 de 68
Fig N 5.1.6: LCA: Estructura interna de un Input-Ouput Block (IOB)
PLD Pgina 55 de 68
conoce como PIP Programmable Interconnect Points, los cuales estn distribuidos a travs de
todo la superficie de la pastilla. En la fig. N 5.1.7, se pueden ver algunas de estas conexiones.
PLD Pgina 56 de 68
Fig. N 5.1.9. Matrices de conmutacin: Distribucin de seales.
2. Interconexiones directas:
Este tipo de unin permite realizar uniones entre los CLB e IOB
con un mximo de eficacia considerando la velocidad y ocupacin e la pastilla de C.I, como se
ve en la fig. 5.1.10. Esto se puede hacer, puesto que de acuerdo a la geometra de las celdas es
posible conectar en forma directa ciertas salidas de celdas a las entrada de otras sin la
necesidad de otros recursos de interconexin. Las uniones que se pueden realizar de esta forma
son las siguientes:
PLD Pgina 57 de 68
lneas de CLB a ambos lados de las matrices de conmutacin. Y en el caso de las matrices ms
complejas se colocan dos lneas largas adicionales. Inclusive a veces se las puede dividir en dos
partes, formando semilneas largas.
PLD Pgina 58 de 68
Fig. N 5.1.12. LCA: Realizacin de un oscilador de cuarzo.
Programacin:
Bsicamente las LCA poseen tres modos para cargar los datos luego de
aplicarle tensin, segn el siguiente detalle:
Modo Maestro
Modo Esclavo
Modo tipo Perifrico.
1.Modo Maestro :
Este modo presenta varias opciones:
a) Datos Serie propietario: Su nombre se debe a que los datos son transmitidos desde la
memoria a la LCA en serie, segn una estructura y componentes propios de Xilinx; es decir la
LCA correspondiente y una memoria de acceso secuencial serie, fueron desarrollados y
comercializados por esta empresa. Esta memoria EPROM del tipo OTP est programada con el
mismo sistema de desarrollo utilizado para la LCA, y slo sirve para reprogramarla cada vez que
sea necesario. Es la opcin ms sencilla, desde el punto de vista del hardware, ya que es la que
menos lugar ocupa en el circuito.
PLD Pgina 59 de 68
Fig. N 5.1.13. Programacin de
LCA: Esquema en modo maestro serie.
PLD Pgina 60 de 68
Fig. N 5.1.14. Programacin de LCA: Esquema en modo maestro paralelo.
2. Modo Esclavo:
En este caso la LCA recibe los datos desde una LCA maestra, como se
mencion en el item anterior. La primera de la cascada se llama maestra y las dems esclavas.
Esta LCA maestra origina el ciclo de reloj ( CLCK )para toda la cascada. Los datos de
programacin, proveniente de la PROM, ingresan en la LCA por la entrada serie ( DIN ) y se
PLD Pgina 61 de 68
transmiten a las otras LCA a travs de la salida serie ( DOUT ) . Este conexionado se ve en la fig
5.1.15.
3. Modo Perifrico:
Tambin llamado modo pasivo, pues se ha estructurado para que
la LCA sea configurada reprogramada a partir de un microprocesador cualquiera, como si
fuera un simple perifrico, como se puede ver en la fig. 5.1.16.
PLD Pgina 62 de 68
Fig. N 5.1.16. Programacin de LCA: Conexionado modo perifrico.
PLD Pgina 63 de 68
Estos dispositivos programables fueron introducidos hacia los aos 1991-
92 con lo que podemos decir que se trata de los ltimos circuitos de este tipo aparecidos en el
mercado, a travs de dos empresas muy diferentes, Texas Instruments, una de las ms grandes
fabricante de circuitos integrados y la modesta Plus Logic, para aquellos aos de reciente
aparicin.
Al igual que las LCA de Xilinx, las FPGA de antifusibles tienen como
premisa fundamental, la optimizacin de los recursos dispuestos en la pastilla por medio de un
mejor uso de las posibilidades de interconexin entre los diferentes bloques lgicos. Pero, si
bien la arquitectura es similar a la de las LCA, como se ve en la fig. 5.2.1. pues incluye una gran
cantidad de bloques lgicos en el centro de la matriz, rodeado por un cierto nmero de celdas
lgicas de entrada/salida, y un bus adecuado de interconexin, el mtodo utilizado para
alcanzar este resultado es completamente distinto al usado en dichos circuitos programables.
PLD Pgina 64 de 68
las dos lneas metlicas se unen estableciendo la unin-antifusible. Vemos que realmente tiene
el efecto opuesto, ya que mientras en las PAL de fusibles se queman las uniones, en las FPGA
de antifusibles se generan dichas uniones. Algunos autores mencionan que para programar las
PAL se hacen saltar los fusibles, con el fin de establecer las uniones buscadas, y en caso de las
FPGA se hace saltar alguna cosa para establecer dichas uniones. Y entonces han bautizado a
esta alguna cosa como antifusible.
Hard macros: Funciones lgicas bsicas que utilizan una dos celdas pre-encaminadas
para lograr la mxima eficiencia.
PLD Pgina 65 de 68
Soft macros: Funciones lgica complejas , que utilizan muchas celdas bsicas (90 ms),
para la realizacin de contadores, registros, registros de desplazamiento, etc. sin un pre-
encaminado, y que por lo tanto se puede implantar como se desee en cualquier diseo de
circuito lgico complejo.
Estas celdas son bastante simples, por lo que permiten una gran
flexibilidad de interconexin; a pesar de que ello implica la necesidad de utilizar un gran nmero
de ellas para desarrollar cualquier diseo medianamente complejo.
Modos de Trabajo:
Las FPGA presentan dos modos bsicos de funcionamiento:
Modo Normal: En este modo el circuito permite ser usado para la funcin para la cual
fue desarrollado.
Interconexiones:
PLD Pgina 66 de 68
Fig. N 5.2.5. FPGA de Antifusible: Estructura de interconexiones
Herramientas de desarrollo:
PLD Pgina 67 de 68
b) Fase de simulacin lgica: Con el fin de asegurar con el mnimo detalle la correcta
funcionalidad lgica del circuito que se est desarrollando.
c) Fase de asignacin de patas.
d) Fase de encaminamiento.
e) Fase de simulacin temporal.
- Si las fases anteriores han sido correctas viene la concrecin del circuito
f) Programacin
PLD Pgina 68 de 68