1. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 1
Dispositivos de lógica programable
SISTEMAS ELECTRÓNICOS DIGITALES
2o Curso Ingeniería Técnica Industrial
Especialidad en Electrónica Industrial
Dr. José Luis Rosselló
Logica Programable 2
Índice
T Conceptos generales
T Dispositivos programables
T Tipos de dispositivos programables
T PROMs
T FPLAs
T PALs
T FPGAs
2. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 2
Logica Programable 3
Especificación
Idioma
Programa de alto
nivel (Algoritmo)
Maquinas
secuenciales
Puertas lógicas
Transistores
Rectángulos
FLUJO
DE DISEÑO
SÍNTESIS
LÓGICA
AUTOMÁTICA
IMPLEMENTACIÓN
LÓGICA
Especificación
Comportamiento
Transferencia entre
registros (RTL)
Lógica
Dispositivo
programable
Circuitos
Layout
PLDs
Logica Programable 4
Conceptos generales
T Cada circuito integrado contiene un
determinado número de elementos lógicos
T Para cada tipo de aplicación el esquema de
interconexiones es fija
T Posibles implementaciones de una aplicación
T En un circuito específico (ASIC)
T En un circuito de propósito general
(programable)
3. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 3
Logica Programable 5
Fundamento
T Cualquier función lógica puede expresarse
como suma de productos
F=m1+m2+m3+ …=xyz+ zyz+xyz
T La función se realiza en dos niveles
1er nivel Producto
2o nivel Suma
Logica Programable 6
Esquema de conexiones
T Conexión entre líneas mediante un
dispositivo programable
A
s
s = 1
s = 0
B
A
B
A
B
Este elemento conector
puede ser un fusible (si la
programación de cada
interconexión es permanente)
o un transistor MOS de doble
puerta si queremos que
además de programable sea
reconfigurable
4. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 4
Logica Programable 7
x1 x2 xn-1 xn
x3
x1
xn-1
xn
x3
x2
s s s s
x1 x2 xn-1 xn
1 1
~
Pull - up
Modelo de estructura AND
Logica Programable 8
x1 x2 xn-1 xn
x3
x1
xn-1
xn
x3
x2
s s s s
x1 x2 xn-1 xn
0 0
~
Pull - down
Modelo de estructura OR
5. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 5
Logica Programable 9
X Y Z f1 f2 f3 f4
Matriz programamable AND-OR
Permite realizar
cuatro funciones
logicas de n
entradas.
Logica Programable 10
Ejemplo de programación
Ejemplo
sencillo:
Full adder
s=xyz+xyz
+xyz+xyz
c=xyz+xyz
+xyz+xyz
X Y Z c s
6. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 6
Logica Programable 11
Dispositivos programables
T Tecnología basada en fusibles
T Programable una sola vez
T No-Volátil
T Tecnología basada en SRAM
T Reconfigurable
T Volátil
T Tecnología EPROM y EEPROM
T Reconfigurable
T No-Volátil
Logica Programable 12
VDD
f(A,B,C)=ABC
A
B
C
A
B
C
VDD
f(A,B,C)
Fusible
A
B
C
ABC
Tecnología basada
en fusibles
7. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 7
Logica Programable 13
Tecnología EPROM y EEPROM
Transistor MOS
n+
n+
Substrato tipo P
Óxido de campo
(SiO
2)
p+ stopper
Óxido de puerta
Drenador
Fuente
Puerta
Transistor n-MOS
Logica Programable 14
Tecnología CMOS
8. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 8
Logica Programable 15
Concepto de Tensión umbral (VTH)
n+
n+
Substrat tipus p
Drenador
Puerta
Fuente
VGS
p-
Lineas de Campo Eléctrico
Canal de conducción
(electrones acumulados)
Zona de vaciamiento
(ausencia de agujeros)
VDS
Logica Programable 16
0.0 1.0 2.0 3.0 4.0 5.0
VDS (V)
1
2
I
D
(mA)
0.0 1.0 2.0 3.0
VGS (V)
0.010
0.020
√I
D
VT
Corriente
sub-umbral
Lineal Saturación
VGS = 5V
VGS = 3V
VGS = 4V
VGS = 2V
VGS = 1V
(a) ID en función de VDS (b)√ID en función de VGS
(para VDS = 5V)
.
VDS = VGS-VT
Transistor n-MOS W = 100µm, L = 20µm
Curvas características del transistor n-MOS
9. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 9
Logica Programable 17
Fuente Drenador
Puerta
Puerta flotante
Substrato
n+
n+ p
S
D
G
Símbolo
Transistor MOS de doble puerta
Logica Programable 18
D
S
20 V
20 V
D
S
0 V
0 V
10 V
→ 5 V
D
S
5 V
5 V
Programación
por avalancha
Programación del transistor
de doble puerta
Los electrones
quedan
atrapados en la
puerta flotante
El valor efectivo de la
tensión umbral
aumenta debido al
apantallamiento de
los electrones
atrapados en la
puerta flotante
10. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 10
Logica Programable 19
Desplazamiento de VTH
0.0 5 10
0.010
0.020
÷√I
D
V GS (V)
Logica Programable 20
n+
Drenador
n+
Fuente
Substrato P
Puerta de control
Puerta flotante
Programación
Borrado Óxido de tunneling
Flash EEPROM
11. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 11
Logica Programable 21
EPROM
Flash Courtesy Intel
Cross-sections of NVM cells
Logica Programable 22
Puertas distribuidas (esquema físico)
x1 x2 xn-1 xn
1
0
Pull - up
out =
out =
x1 x2 xn-1 xn
1
0
Pull - up
12. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 12
Logica Programable 23
Tipos de dispositivos programables
T PROM: Matriz OR programable y AND no
programable
T FPLA: Matriz AND y OR programables
T PAL: Matriz AND programable y OR no
programable
Logica Programable 24
PROM
Matriz OR programable y AND no programable
T Más rápidas si se comparan con otros tipos de
lógica
T Ideales si hemos de implementar funciones que
usan todos los mintérminos
Codificadores, Look-up tables
T Para n entradas tenemos 2n puertas AND
Bastante extensas para n grande
13. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 13
Logica Programable 25
PROMs
Io
I1
I2
mo m1 m2 m3 m4 m5 m6 m7
Ok
O2
O1
Logica Programable 26
Esquema básico de una PROM
A0
A1
AN-1
P0
P1 P2
N
-1
AND
ARRAY
OR ARRAY
O0 O1
OM
CE
(CHIP ENABLE)
14. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 14
Logica Programable 27
Problema 1:
T Implementar en las siguientes funciones:
f1=AB+BC
f2=(A+B+C)(A+B)
f3=A+BC A
B
C
f3
f2
f1
Logica Programable 28
Problema 2:
T Implementar un conversor de binario a
código gray
A
B
C
f3
f2
f1
15. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 15
Logica Programable 29
FPLA
Matriz OR y AND programables
T Más pequeñas y flexibles que las PROM
T Cualquier término producto puede ser
programado (no sólo mintérminos)
T Más lentas al tener una etapa más para ser
programada
Logica Programable 30
Problema: Voto mayoritario
T Programa la PLA de forma que proporcione el sentido del
voto mayoritario de un total de cinco electores (cada voto
consiste en un sí o un no).
c
16. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 16
Logica Programable 31
Polaridad de salida programable
Salidas
complementarias
Polaridad de
salida baja
Polaridad de
salida alta
Polaridad
programable (P)
VDD
P1 Pn
I1
Ik
Fusible
Logica Programable 32
Extensión de la PLAs
T Circuitos basados en la estructura AND-
OR modificada de forma que:
T Permiten terminales bidireccionales
T Permiten la utilitzación de variables
intermedias
17. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 17
Logica Programable 33
Pines bidireccionales y líneas de
realimentación
Tree-state driver
P1 Pn
Pn+1
I1
Ik
IOm
Logica Programable 34
18. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 18
Logica Programable 35
Ejemplo: Función paridad de 9 bits
T F = x0 ⊕ x1 ⊕ x2 ⊕ x3 ⊕ x4 ⊕ x5 ⊕ x6 ⊕ x7 ⊕ x8
T Implementación a 2 niveles : 256 mintérminos
T Implementación multinivel
y0 = x0 ⊕ x1 ⊕ x2
y1 = x3 ⊕ x4 ⊕ x5
y2 = x6 ⊕ x7 ⊕ x8
F = y0 ⊕ y1 ⊕ y2
Logica Programable 36
x0
x1
x2
x3
x4
x5
x6
x7
y2
y1
y0
F
x8
19. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 19
Logica Programable 37
PAL
Matriz AND programable y OR no programable
T Compromiso entre las FPLA y PROMs (más
rápidas que las FPLA y no tan grandes como
las PROMs)
T Los términos productos comunes a varias
funciones tienen que ser implementados por
duplicado
Logica Programable 38
PAL comercial: PAL16L8
20. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 20
Logica Programable 39
Problema: Programación de un
comparador de 4 bits
T Programar una PAL16L8 de forma que compare dos
números de cuatro bits. El sistema ha de producir tres
salidas (X,Y,Z), donde X=1 sólo cuando A=B, Y=1 sólo
cuando A>B y Z=1 sólo cuando A<B.
Solución:
X=E3E2E1E0
Y=a3b3+E3a2b2+E3E2a1b1+E3E2E1a0b0
Z= a3b3+E3a2b2+E3E2a1b1+E3E2E1a0b0
Donde Ei evalua si los bits ai y bi son iguales o no.
Ei= aibi+ aibi
Logica Programable 40
Implementación del comparador
a3
b3
a2
b2
a1
b1
a0
b0
E3
E2
E1
E0
E3 E2 E1 E0
X(A=B)
Y(A>B)
Z(A<B)
(sin usar)
21. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 21
Logica Programable 41
PAL16R8. Salida con resgistros
Logica Programable 42
PLDs Complejas
22. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 22
Logica Programable 43
Estructura de las macro celdas
T Introducción de módulos secuenciales en
las macro-celdas
Logica Programable 44
Diagrama de bloc Macrocell
23. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 23
Logica Programable 45
Programación registro universal de 8 bits en EP224
I/O (Q
0)
Macrocell 1
I/O (Q
1)
Macrocell 2
I/O (Q
2)
Macrocell 3
I/O (Q
3)
Macrocell 4
I/O (Q
4)
Macrocell 5
I/O (Q
5)
Macrocell 6
I/O (Q
6)
Macrocell 7
I/O (Q
7)
Macrocell 8
Input (Clk)
Input (P
0)
Input (P
1)
Input (P
2)
Input (P
3)
Input (P
4)
Input (P
5)
Input (P
6)
Input (P
7)
Input (S
0)
Input (S
1)
Global
Bus
Input (SR)
Input (NC)
Input (SL)
SR
SL
Po P1 P2 P3 P4 P5 P6 P7
Qo Q1 Q2 Q3 Q4 Q5 Q6 Q7
So S1
Logica Programable 46
Load SL SR Mem S1 S0 out
P3 Q2 Q4 Q3 Q3’
0 x x x 0 0 0
1 x x x 0 0 1
x 0 x x 0 1 0
x 1 x x 0 1 1
x x 0 x 1 0 0
x x 1 x 1 0 1
x x x 0 1 1 0
x x x 1 1 1 1
D
C
Q
Q3
S0 S1
P0 - P7 Q0 - Q7
Esquema por macro-celda
24. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 24
Logica Programable 47
Programación salida Q3
D
C
Q
Q3
S0 S1
P0 - P7 Q0 - Q7
S0S1P3
S0S1Q2
S0S1Q4
S0S1Q3
P3 Q2 Q4
Logica Programable 48
Arquitectura “Classic” de Altera
25. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 25
Logica Programable 49
Configuraciones
Modo 0:
Registro controlado
por el reloj global.
La salida se controla
por la lógica del
término producto
Modo 1:
La salida se encuentra
permanentemente
habilitada.
El reloj se controla
por la lógica del
término producto
Logica Programable 50
Integrados “Classic” de Altera
EP610 EPLD
300 puertas equiv.
2 Clks indep
16 macro-celdas
tpd = 10ns
freq = 100 MHz
EP910 EPLD
450 puertas equiv.
2 Clks indep
24 macro-celdas
tpd = 12ns
freq = 76.9 MHz
26. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 26
Logica Programable 51
EP1810 EPLD
900 puertas equiv.
4 Clks indep
48 macro-celdas
tpd = 20ns
freq = 50 MHz
Logica Programable 52
Evolución de las PLAs: Las FPGAs
T Contenido de las FPGAs:
T Matriz de celdas regularmente dispuestas sobre silicio
cuya funcionalidad es progamable (las llamamos CLB)
T Colección de celdas programables de entrada-salida
dispuestas perimetralmente y que deonomnamos IOB
T Colección de bloques de interconexión que, bajo
programación permiten conectar CLBs e IOBs entre sí
27. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 27
Logica Programable 53
(CLBs)
(IOBs)
Logica Programable 54
Líneas de interconexión
IOBs
CLBs
28. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 28
Logica Programable 55
Logica Programable 56
Tipos de tecnología usada
Sí
Sí
No
Sí
Re-Prog
No
EEPROM
No
EPROM
No
PLICE
(Fusibles)
Sí
SRAM
Volátil
Tecnología
29. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 29
Logica Programable 57
FPGAs comerciales
T Altera (MAX, FLEX, ACEX, Cyclone, APEX,….)
T Xilinx (XC2000, XC8100, …)
T Actel (ACT 1-4, 3200DX, 1200XL,…)
T Cross Point (CP20)
T Concurrent Logic (CLi6000)
T Quick Logic (pASIC)
T Intel (iFX780)
T AMD (MACH1,2,3,4,5)
T ATMEL (ATV)
T Pilkingston (Serie TS)
T Zycad Gatefield (Serie GF)
Logica Programable 58
Ejemplo de FPGA comercial, Família
MAX5000 (Multiple Array Matrix )de Altera
30. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 30
Logica Programable 59
Arquitectura del los bloques básicos (LAB)
Logica Programable 60
Estructura de macro-cel.la
31. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 31
Logica Programable 61
Componentes de expansión y control I/O
Logica Programable 62
Família MAX7000
32. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 32
Logica Programable 63
Arquitectura
Logica Programable 64
Estructura de la macro-celda
33. Jose Luis Rosselló. Grupo de Tecnología
Electrónica, Universitat Illes Balears 33
Logica Programable 65
Estructura de expansión
Shareable expanders
Parallel expanders
Logica Programable 66
Control del
bloc E/S