Story Transcript
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ó
Índice T T T
Conceptos generales Dispositivos programables Tipos de dispositivos programables T T T T
PROMs FPLAs PALs FPGAs Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
2
1
Especificación
Idioma Programa de alto nivel (Algoritmo)
FLUJO DE DISEÑO
Comportamiento SÍNTESIS LÓGICA AUTOMÁTICA
Transferencia entre registros (RTL)
Maquinas secuenciales Puertas lógicas
Lógica IMPLEMENTACIÓN LÓGICA
Transistores
Circuitos Dispositivo programable
Rectángulos
PLDs
Layout Logica Programable
3
Conceptos generales T T T
Cada circuito integrado contiene un determinado número de elementos lógicos Para cada tipo de aplicación el esquema de interconexiones es fija Posibles implementaciones de una aplicación T T
En un circuito específico (ASIC) En un circuito de propósito general (programable)
Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
4
2
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 2o nivel
Producto Suma
Logica Programable
5
Esquema de conexiones T
Conexión entre líneas mediante un dispositivo programable A s=0
A
B
s 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
s=1 B Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
6
3
Modelo de estructura AND
s
Pull - up
x2
x1
~ 1
1
s
xn-1
s
xn
s
x1 x2 x3
x1
x2
x3
xn-1
xn-1 xn
xn
7
Logica Programable
Modelo de estructura OR Pull - down ~ 0 0
x2
x1
s
s
xn-1
s
xn
s
x1 x2 x3
x1
x2
x3
xn-1
xn
Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
xn-1 xn
8
4
Matriz programamable AND-OR Permite realizar cuatro funciones logicas de n entradas.
X
Y
Z
f1
f2
f3
f4
9
Logica Programable
Ejemplo de programación Ejemplo sencillo: Full adder s=xyz+xyz +xyz+xyz c=xyz+xyz +xyz+xyz X
Y
Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
Z
c
s
10
5
Dispositivos programables T
Tecnología basada en fusibles T T
T
Tecnología basada en SRAM T T
T
Programable una sola vez No-Volátil Reconfigurable Volátil
Tecnología EPROM y EEPROM T T
Reconfigurable No-Volátil
11
Logica Programable
VDD Fusible
Tecnología basada en fusibles
f(A,B,C)
A
B
C
VDD
A f(A,B,C)=ABC B
A
B
C
C
ABC
Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
12
6
Tecnología EPROM y EEPROM Transistor MOS Óxido de puerta Fuente
Puerta
Drenador
n+
n+ Substrato tipo P
Óxido de campo (SiO2) p+ stopper
Transistor n-MOS
Logica Programable
13
Tecnología CMOS
Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
14
7
Concepto de Tensión umbral (VTH) Lineas de Campo Eléctrico
Puerta VGS
VDS Drenador
Fuente
n+
n+
Substrat tipus p p-
Zona de vaciamiento (ausencia de agujeros)
Canal de conducción (electrones acumulados)
15
Logica Programable
Curvas características del transistor n-MOS VDS = VGS-VT VGS = 5V Lineal
1.0
2.0 3.0 VDS (V)
VGS = 4V
√ID
1
0.0
0.020
Saturación
ID (mA)
2
VGS = 3V
0.010 Corriente sub-umbral
VGS = 2V VGS = 1V 4.0 5.0
(a) ID en función de VDS
0.0
2.0 VT1.0 VGS (V)
3.0
(b) √ID en función de VGS (para VDS = 5V).
Transistor n-MOS W = 100 µm, L = 20µm Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
16
8
Transistor MOS de doble puerta Puerta flotante
Puerta D Drenador
Fuente
G
p
n+
S
n+
Substrato Símbolo
17
Logica Programable
Programación del transistor de doble puerta 20 V
10 V→ 5 V S
0V
20 V
D
Programación por avalancha
5V
0V
S
D
Los electrones quedan atrapados en la puerta flotante Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
5V
S
D
El valor efectivo de la tensión umbral aumenta debido al apantallamiento de los electrones atrapados en la puerta flotante
18
9
Desplazamiento de VTH
÷√ID
0.020
0.010
0.0
5 V
GS
10 (V)
19
Logica Programable
Flash EEPROM Puerta de control Puerta flotante
Óxido de tunneling
Borrado n+ Fuente
Programación
n+ Drenador
Substrato P
Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
20
10
Cross-sections of NVM cells
Flash
EPROM
Courtesy Intel
21
Logica Programable
Puertas distribuidas (esquema físico) 0 out =
1 Pull - up
x2
x1
0
xn-1
xn
1
out =
Pull - up x1
x2
xn-1
Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
xn
22
11
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
23
PROM Matriz OR programable y AND no programable T T
Más rápidas si se comparan con otros tipos de lógica 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
Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
24
12
PROMs
Io I1 I2
O1 O2
Ok mo m1 m2 m3 m4 m5 m6 m7
25
Logica Programable
Esquema básico de una PROM A0 A1
AND ARRAY
AN-1 P0 P1
P2N-1
OR ARRAY
CE (CHIP ENABLE)
O0
O1
Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
OM
26
13
Problema 1: T
Implementar en las siguientes funciones:
f1=AB+BC f2=(A+B+C)(A+B) f3=A+BC A B C
f1 f2 f3
27
Logica Programable
Problema 2: T
Implementar un conversor de binario a código gray A B C
f1 f2 f3 Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
28
14
FPLA Matriz OR y AND programables T T
Más pequeñas y flexibles que las PROM Cualquier término producto puede ser programado (no sólo mintérminos) Más lentas al tener una etapa más para ser programada
T
Logica Programable
29
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
Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
30
15
Polaridad de salida programable P1
Pn
I1
Ik
Polaridad de salida alta Polaridad de salida baja Salidas complementarias Polaridad programable (P) Fusible VDD Logica Programable
31
Extensión de la PLAs T
Circuitos basados en la estructura ANDOR modificada de forma que: T T
Permiten terminales bidireccionales Permiten la utilitzación de variables intermedias
Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
32
16
Pines bidireccionales y líneas de realimentación P1
Pn+1
Pn
I1
Ik
IOm
Tree-state driver
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
Logica Programable
33
Logica Programable
34
17
Ejemplo: Función paridad de 9 bits T T T
F = x0 ⊕ x1 ⊕ x2 ⊕ x3 ⊕ x4 ⊕ x5 ⊕ x6 ⊕ x7 ⊕ x8 Implementación a 2 niveles : 256 mintérminos Implementación multinivel y0 = x0 ⊕ x1 ⊕ x2 y1 = x3 ⊕ x4 ⊕ x5 y2 = x6 ⊕ x7 ⊕ x8 F = y0 ⊕ y1 ⊕ y2
Logica Programable
35
x0 x1 x2 x3 x4 x5 x6 x7
F y2 y1 y0
x8
Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
36
18
PAL Matriz AND programable y OR no programable T
T
Compromiso entre las FPLA y PROMs (más rápidas que las FPLA y no tan grandes como las PROMs) Los términos productos comunes a varias funciones tienen que ser implementados por duplicado Logica Programable
37
PAL comercial: PAL16L8
Logica Programable
Jose Luis Rosselló. Grupo de Tecnología Electrónica, Universitat Illes Balears
38
19
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 AB)
b0
Z(A