Electrnica Bsica
Lgica Programable
Electrnica Digital
Jos Ramn Sendra Sendra
Dpto. de Ingeniera Electrnica y Automtica
ULPGC
Matrices lgicas Programables (PLAs)
Bloques funcionales prefabricados de muchas puertas AND/OR (o NOR, o NAND)
"personalizados" al crear o destruir conexiones entre las puertas
Diagrama de bloques de una matriz programable para generacin de una
suma de productos
Entradas
Matriz de puertas
And
Lista de Minterms
Matriz de puertas
Or
Salidas
Matrices lgicas Programables (PLAs)
Ejemplo: PLA 3x4 con 5 trminos producto
Todas las conexiones estn intactas
antes de la programacin
Matrices lgicas Programables (PLAs)
Implantacin de cuatro funciones lgicas en nuestra PLA ejemplo
Ecuaciones lgicas
Datos:
F0 = A + B' C'
F1 = A C' + A B
F2 = B' C' + A B
F3 = B' C + A
Variables en los productos:
1 = trmino activo
0 = trmino negado
- = No participa
Matriz de conexiones
Productos
AB
BC
AC
BC
A
Entradas
A B C
1 1 - 0 1
1 - 0
- 0 0
1 - -
Salidas
F0 F1 F2 F3
0 1 1 0
0 0 0 1
0 1 0 0
1 0 1 0
1 0 0 1
Conexiones
a
eliminar
Trminos en las sumas:
1 = producto conectado
0 = producto no conectado
Matrices lgicas Programables (PLAs)
Implantacin de cuatro funciones lgicas en nuestra PLA ejemplo
Las conexiones no deseadas se eliminan
Matrices lgicas Programables (PLAs)
Representacin alternativa que simplifica las estructuras con fan-in alto
Notacin abreviada
de modo que no tenemos
que dibujar todas las lneas
Adems esta notacin se
parece ms a la implantacin
real del dispositivo.
Notacin para implantar
F0 = A B + A' B'
F1 = C D' + C' D
Matrices lgicas Programables (PLAs)
Ejemplo de diseo
ABC
Mltiples funciones de A, B, C
A
B
F1 = A B C
F2 = A + B + C
A
B
F3 = A B C
F4 = A + B + C
ABC
ABC
F5 = A xor B xor C
ABC
F6 = A xnor B xnor C
ABC
ABC
ABC
ABC
F1
F2
F3
F4 F5
F6
Inciso: lgica de diodos.
Corriente positiva
Smbolo de un diodo
Anodo
Ctodo
Funcin de transferencia de un diodo
I
VD=(VAnodo - VCtodo )
Tensin umbral (0.6V)
Inciso: lgica de diodos.
VCC
VCC
I0
I0
A (VCC )
R pull-up
I>0
F VCC
I0
A (VCC )
I>0
I0
B(Gnd )
B (VCC )
I0
I0
C (VCC )
C (VCC )
I0
I0
D (VCC )
D (VCC )
Puerta And de diodos
R pull-up
F 0.6V
Inciso: lgica de diodos.
Puerta Or: Igual que la And pero con resistencia de pull-down
Inconvenientes: Degradacin gradual de la seal cuando incrementamos
los niveles de la lgica.
0V
5V
0.6V
5V
1.2V
5V
1.8V
5V
2.4V
Dispositivos Lgicos Programables (PLDs)
VCC
Tecnologa bipolar
I1
I2
I3
I4
VCC
Fusible
Fusible
NAND-NAND
O1
O2
Inciso: inversor bipolar.
VCC
R2
IN
OUT
IN
OUT
R1
Gnd
VOUT =VCC - R2(VIN -0.6)/R1
Si VOUT >0.2V
es el factor de ganancia de corriente del transistor bipolar
Dispositivos Lgicos Programables (PLDs)
VCC
Tecnologa CMOS
I1
I2
I3
I4
VCC
Fusible
Fusible
/I1' /I1 /I2' /I2 /I3' /I3 /I4' /I4
AND-OR
O1
O2
Dispositivos Lgicos Programables (PLDs)
Tecnologa CMOS
Las PLDs vistas hasta ahora slo pueden grabarse una vez
Veamos ahora tipos de PLDs regrabables, conocidas como EPLDs
(erasable programmable logic device)
Puerta
flotante
Puerta
no
flotante
GRABADO:
GRABADO:
Los
Losdielctricos
dielctricosentre
entrelalapuerta
puertaflotante
flotante
yyelelsemiconductor
semiconductorse
secargan
cargannegativamente
negativamente
cuando
cuandoaplicamos
aplicamosuna
unatensin
tensinpositiva
positivaalta,
alta,
de
deforma
formaque
queeleldielctrico
dielctricoentre
entrelalapuerta
puerta
flotante
flotanteyyelelsemiconductor
semiconductorqueda
quedapermanentemente
permanentemente
cargado
cargadoinutilizando
inutilizandoeleltransistor
transistor
BORRADO:
BORRADO:Para
Paraeliminar
eliminaresta
estacarga
cargase
sepuede
puedepermitir
permitirlaladescarga
descargamediante
medianteluz
luz
ultravioleta
ultravioletaoomediante
medianteuna
unatensin
tensinnegativa
negativa(depende
(dependedel
deltipo
tipode
deaislante
aislante))
Dispositivos Lgicos Programables (PLDs)
Tipos de dispositivos comerciales
PAL
son una modificacin de las PLAs consisten en eliminar el
plano OR de forma que quedamos limitados y no podemos
usar un minterm en varias salidas. Una mejora sobre las
PLAs es que tiene entradas bidireccionales, con lo que podemos
usar segn nos convenga algunos pines como entrada o
como salida y tambin podemos disear lgica con ms de
dos niveles.
GAL admiten las variaciones de las PAL pero a su vez disponen
de una puerta XOR a la salida, con lo que podemos escoger
entre la salida o la salida negada, esto permitir una gran
versatilidad.
PALs y PLAs
Cul es la diferencia entre Programmable Array Logic (PAL) y
Programmable Logic Array (PLA)?
PAL construida por Monolithic Memories, la topologa del plano OR est
limitada
Cada columna del plano OR
tiene acceso slo a un subconjunto
de los minterms
PLA topologas generalizadas en los planos AND y OR
PALs y PLAs
Ejemplo de diseo: conversor de cdigo BCD a cdigo Gray
Tabla de verdad
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
W
0
0
0
0
0
1
1
1
1
1
X
X
X
X
X
X
X
0
0
0
0
1
1
0
0
0
0
X
X
X
X
X
X
Y
0
0
1
1
1
1
1
1
0
0
X
X
X
X
X
X
Mapas de Karnaugh
Z
0
1
1
0
0
0
0
1
1
0
X
X
X
X
X
X
AB
00
01
11
10
00
01
11
CD
00
01
11
10
00
01
11
10
CD
D
C
D
C
10
B
mapa-K para X
mapa-K para W
A
AB
Funciones minimizadas:
AB
00
01
11
10
00
01
CD
W=A+BD+BC
X = B C'
Y=B+C
Z = A'B'C'D + B C D + A D' + B' C D'
AB
00
01
11
10
00
01
CD
D
11
11
10
C
10
mapa-K para Y
mapa-K para Z
PALs y PLAs
PAL programada:
0
0
0
0
0
ABCD
Hay 4 minterms por puerta OR
PALs y PLAs
Implantacin del cdigo en puertas de circuitos SSI
A
\A
B
D
B
C
\A
\B
\C
D
B
C
D
A
B
C
22
1
X
\C
2
\B
3
4 4
5
\D
\B
C
\D
1: 7404 inversores
2,5: 7400 NAND dos entradas
3: 7410 NAND tres entradas
4: 7420 NAND cuatro entradas
5 circuitos SSI vs. 1 circuito PLA/PAL
PALs y PLAs
Otro ejemplo: Comparador de magnitud
A
AB
AB
00
01
11
10
00
01
11
CD
ABCD
00
01
11
10
00
ABCD
01
ABCD
11
ABCD
10
AC
CD
D
C
PLA
D
C
10
B
Mapa K para EQ
A
AB
01
11
10
00
01
BD
AB
00
CD
AC
B
Mapa K para NE
BD
00
01
11
10
00
01
CD
ABD
BCD
D
11
ABC
D
11
10
BCD
C
10
0
B
Mapa K para LT
B
Mapa K para GT
EQ NE LT
GT
PAL16L8
I1
O1
I2
IO2
I3
IO3
I4
IO4
I5
IO5
I6
IO6
I7
IO7
I8
O8
I9
I10
PAL16L8
Polaridad de las seales
No importa la polaridad de las seales de entrada ya que tenemos
un buffer inversor y no inversor y por tanto ambas seales estn
presentes, la nica diferencia ser que lnea lleve la seal y que
lnea lleve su negada
En cuanto a las salidas es diferente, veamos que hay un inversor a
la salida de cada puerta OR, y entonces la funcin realizada es la
AND-OR-Invert.
Normalmente uno no calcula cual va a ser el mapa de
contactos eliminados a mano, esto se deja a un ordenador y por tanto
hay que fijarse en las funciones de salida.
PAL16L8
Polaridad de las seales
Ejemplo de salida.
/salir= /(A1A2 A3A4 A5A6 A7A8)
Correcto
Antes del inversor de salida queda un slo sumando
salir = (A1A2 A3A4 A5A6 A7A8)
salir = A1A2 A3A4 A5A6 A7A8
Incorrecto
Antes del inversor de salida quedan ocho sumandos
/salir=/A1+ /A2 + /A3 + /A4 + /A5 + /A6 + /A7 + /A8
PAL16L8
Ejemplo: Disear un multiplexor de ocho entradas de un bit.
Tabla de verdad
Entradas
de control
EN C B A
0 x x x
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Salidas
Y0
0
D0
D1
D2
D3
D4
D5
D6
D7
Atencin : la funcin lgica implantada
es AND-OR-Invert y por
tanto la salida ser activa a
nivel bajo
Y0 = ENCBAD0 +
ENCBAD1 +
ENCBAD2 +
ENCBAD3 +
ENCBAD4 +
ENCBAD5 +
ENCBAD6 +
ENCBAD7)
PAL16L8
Ejemplo: Disear un multiplexor de ocho entradas de un bit.
Cuidado: tenemos una OR de ocho
entradas y por lo tanto
deberemos utilizar lgica
de cuatro niveles
/Y01= /(ENCBAD0 +
EN CBAD1 +
EN CBAD2 +
EN CBAD3)
/Y02= /(ENCBAD4 +
EN CBAD5 +
EN CBAD6 +
EN CBAD7)
Y0 = /(/Y01 /Y02)=Y01+Y02
GAL16V8C
I1
O1
I2
IO2
I3
IO3
I4
IO4
I5
IO5
I6
IO6
I7
IO7
I8
O8
I9
I10