Download dispositivos lógicos programables

Document related concepts
no text concepts found
Transcript
UNIVERSIDAD DE SEVILLA
Dpto. de Ingeniería Electrónica
AREA DE TECNOLOGIA ELECTRONICA
CAPÍTULO 1: DISPOSITIVOS LÓGICOS PROGRAMABLES
Tema 1. Dispositivos Lógicos Programables de Baja Capacidad
Ana Cinta Oria Oria
Diciembre de 2010
2
Índice
Introducción Introducción
Dispositivos lógicos programables de baja capacidad
Concepto de matriz programable
Concepto de matriz programable
PROM (Programable Read Only Memories)
PLA (Programable Logic
PLA (Programable Logic Array)
PAL (Programable Array Logic) y GAL (Generic Array Logic)
Programación de PLDs
Programación de PLDs
2
Tema 1. Dispositivos lógicos programables de baja capacidad
3
Índice
Introducción Introducción
Dispositivos lógicos programables de baja capacidad
Concepto de matriz programable
Concepto de matriz programable
PLA (Programable Logic Array)
PAL (Programable Array
PAL (Programable Array Logic) y GAL (Generic
Logic) y GAL (Generic Array Logic)
Programación de PLDs
3
Tema 1. Dispositivos lógicos programables de baja capacidad
1.1. Introducción
4
Introducción
Obj ti
d
t
t d
Objetivos de este apartado:
Alternativas en el diseño de un circuito lógico
¿Qué son los Dispositivos Lógicos Programables (PLD)?
¿Qué son los Dispositivos Lógicos Programables (PLD)?
Clasificación de PLD
4
Tema 1. Dispositivos lógicos programables de baja capacidad
1.1. Introducción
5
Introducción
Circuitos Integrados Digitales (CID)
Circuitos Integrados Digitales (CID)
Según la forma en qué se realice el diseño
realice el diseño
Según la realización física
g
Según Semiconductor
CID Si
CID ArGa
CID Bipolar
CID MOS
CID BiCMOS
PMOS
NMOS
CMOS
Según nº de dispositivos
SSI
MSI
Tema 1. Dispositivos lógicos programables de baja capacidad
1.1. Introducción
LSI
VLSI
ULSI
5
GLSI
6
Introducción
Circuitos Integrados Digitales (CID)
Circuitos Integrados Digitales (CID)
Según la forma en qué se realice el diseño
realice el diseño
Según la realización física
g
Según Semiconductor
CID Si
CID ArGa
CID Bipolar
CID MOS
CID BiCMOS
PMOS
NMOS
CMOS
Según nº de dispositivos
SSI
MSI
Tema 1. Dispositivos lógicos programables de baja capacidad
1.1. Introducción
LSI
VLSI
ULSI
6
GLSI
7
Introducción
Clasificación según el número de dispositivos o puertas básicas contenidos en los CID
contenidos en los CID
Nivel de integración
Nº de transistores
Nº de puertas
Fecha aproximada
Pequeña escala de integración (SSI)
10 a 102
1 a 10
1960
Mediana escala de integración (MSI)
Mediana escala
de integración (MSI)
102 a 10
a 103
10 a 10
10
a 102
1965
Gran escala de integración (LSI)
103 a 104
102 a 103
1970
Muy gran escala de integración (VLSI)
de integración (VLSI)
104 a 10
a 105
103 a 10
a 104
1978
Ultra gran escala de integración (ULSI)
105 a 106
104 a 105
1985
Giga gran escala de integración (GLSI)
>106
>105
Tema 1. Dispositivos lógicos programables de baja capacidad
1.1. Introducción
7
1995
8
Introducción Circuitos Integrados Digitales (CID)
Según la forma en qué se realice el diseño
Según la realización física
Normalizados
Especificados por el usuario
Según la función del circuito
Según metodología
Fija
Programable
Dispositivos Lógicos programables de baja capacidad
PLA
PAL
GAL
Tema 1. Dispositivos lógicos programables de baja capacidad
1.1. Introducción
Totalmente a medida
Semi‐medida
Dispositivos lógicos programables de alta capacidad
CPLD
FPGA8
9
Introducción
Circuitos Integrados Digitales (CID)
Según la forma en qué se realice el diseño
Según la realización física
Normalizados
Especificados por el usuario
Según la función del circuito
Según metodología
Fija
Programable
Dispositivos Lógicos programables de baja capacidad
PLA
PAL
GAL
Tema 1. Dispositivos lógicos programables de baja capacidad
1.1. Introducción
Totalmente a medida
Semi‐medida
Dispositivos lógicos programables de alta capacidad
CPLD
FPGA9
10
Introducción
Circuitos de aplicación específica o ASIC (Application Specific Integrated Circuit)
Integrated Circuit)
Han sido posible gracias al uso de técnicas de descripción y simulación asistidas por computador
Empleo de programas de diseño ejecutados en estaciones de trabajo de elevadas prestaciones
Niveles de descripción de un sistema digital a medida
Ni l d d
i ió d
it
di it l
did
Especificación del sistema
del sistema
Descripción de su comportamiento
Descripción funcional
• Distintos bloques funcionales que operaciones que p
componen el constituye el proceso tit
l
sistema
que ha de realizar
• Conjunto de Tema 1. Dispositivos lógicos programables de baja capacidad
1.1. Introducción
Descripción Lógica
Descripción eléctrica
• Cada bloque está • Se especifica los compuesto por un componentes j
((transistores, etc), sus , ),
conjunto de elementos formado características y su por puertas lógicas 10interconexionado
11
Introducción
Circuitos de aplicación específica o ASIC (Application Specific Integrated Circuit)
Integrated Circuit)
Clasificación
Circuitos totalmente personalizados: “FULL ‐
CUSTOM”
p
Aquellos circuitos en los que el diseñador llega hasta el nivel de transistor, elige sus características y el conexionado entre ellos.
Todos los bloques y elementos necesarios están incluidos en un mismo Todos los bloques y elementos necesarios están incluidos en un mismo
circuito integrado que queda como propiedad del cliente
Óptimo en cuanto a superficie de silicio ocupada y fiabilidad del circuito
El d
d d
ll
i
l d d
Elevados costes de desarrollo que exigen un consumo muy elevado de unidades para que resulte económicamente rentable
11
Tema 1. Dispositivos lógicos programables de baja capacidad
1.1. Introducción
12
Introducción
Circuitos de aplicación específica o ASIC (Application Specific g
)
Integrated Circuit)
Clasificación
Circuitos obtenidos a través de las bibliotecas o elementos funcionales estándar “SEMI CUSTOM”
estándar: “SEMI‐CUSTOM”
Son circuitos integrados LSI/VLSI a medida, que para abaratar costes incluyen elementos o procesos de fabricación estándar: células estándar
» Utilizan
Utilizan bloques funcionales predefinidos: puertas, registros, contadores, bloques funcionales predefinidos: puertas registros contadores
sumadores, etc. El diseñador adopta decisiones al nivel de descripción lógica: Indicando dimensiones, patillaje de las células estándar…
» Indicando dimensiones, patillaje de las células estándar… Costes de desarrollo también altos
» En la fabricación, costes de máscaras y costes de procesos
En los recursos humanos y materiales para el diseño
» En los recursos humanos y materiales para el diseño
» En la verificación, circuito adicional de test
12
Tema 1. Dispositivos lógicos programables de baja capacidad
1.1. Introducción
13
Introducción
Circuitos Integrados Digitales (CID)
Según la forma en qué se realice el diseño
Según la realización física
Normalizados
Especificados por el usuario
Según la función del circuito
Según metodología
Fija
Programable
Dispositivos Lógicos programables de baja capacidad
PLA
PAL
GAL
Tema 1. Dispositivos lógicos programables de baja capacidad
1.1. Introducción
Totalmente a medida
Semi‐medida
Dispositivos lógicos programables de alta capacidad
CPLD
13
FPGA
14
Introducción (II)
Circuitos Integrados Digitales (CID)
Según la forma en qué se realice el diseño
Según la realización física
Normalizados
Especificados por el usuario
Según la función del circuito
Según metodología
Fija
Programable
Dispositivos Lógicos programables de baja capacidad
PLA
PAL
GAL
Tema 1. Dispositivos lógicos programables de baja capacidad
1.1. Introducción
Totalmente a medida
Semi‐medida
Dispositivos lógicos programables de alta capacidad
CPLD
14
FPGA
15
Introducción
Circuito normalizado de función fija
Existen circuitos en SSI, en MSI y en LSI
Existen circuitos en SSI en MSI y en LSI
Ejemplos
Circuito 7400 de tecnología TTL: 4 puertas NAND de cuatro entradas
Circuito 7400 de tecnología TTL: 4 puertas NAND de cuatro entradas (SSI)
Unidad aritmética lógica 74181
Circuito 74LS194, registro de desplazamiento que posee cuatro modos de operación seleccionables mediante dos variables binarias (MSI)
Circuito receptor‐transmisor
asíncrono universal UART (LSI)
Circuito receptor
transmisor asíncrono universal UART (LSI)
Además pueden ser expansibles, es decir, pueden acoplar estos circuitos entre sí, y obtener circuitos de mayor capacidad 15
Tema 1. Dispositivos lógicos programables de baja capacidad
1.1. Introducción
16
Introducción
Dispositivos estándar y y
lógica discreta
Circuitos ASIC
(Circuitos normalizados de función fija)
9
9
Sencillez en aplicaciones
fáciles
a la hora
Complicación a la hora
de diseñar circuitos más
complejos
DISPOSITIVOS LÓGICOS PROGRAMABLES
PLD (Programable
PLD (Programable
Logic Device)
9
9
9
Tienen integrado en un sólo chip toda la aplicación
Altos costes de desarrollo y producción. Inviables para pequeñas series
16
Tema 1. Dispositivos lógicos programables de baja capacidad
1.1. Introducción
17
Introducción
Circuitos Integrados Digitales (CID)
Según la forma en qué se realice el diseño
Según la realización física
Normalizados
Especificados por el usuario
Según la función del circuito
Según metodología
Fija
Programable
Dispositivos Lógicos Programables de Baja Capacidad
PLA
PAL
GAL
Tema 1. Dispositivos lógicos programables de baja capacidad
1.1. Introducción
Totalmente a medida
Semi‐medida
Dispositivos Lógicos Programables de Alta Capacidad
CPLD
17
FPGA
18
Introducción
Los Dispositivos Lógicos Programables
Dispositivos Lógicos Programables (PLD: Programable Logic Devices) son circuitos integrados constituidos por una estructura de elementos
son circuitos integrados constituidos por una estructura de elementos digitales cuyas conexiones se pueden programar empleando unos interruptores: matriz de interconexión programable
Es posible implementar diferentes funcionalidades
Clasificación:
Dispositivos programables de baja capacidad (PLA, PAL, GAL):
Di
iti
bl d b j
id d (PLA PAL GAL)
Reemplazan a circuitos discretos (SSI, MSI) ahorrando espacio, coste y tiempo de desarrollo
Dispositivos programables de alta capacidad (CPLD, FPGA):
Reemplazan a sistemas completos (incluso microprocesadores)
H
Han adquirido gran importancia en los últimos años
d i id
i
t i
l últi
ñ
18
Diseño y realización de prototipos
Tema 1. Dispositivos lógicos programables de baja capacidad
1.1. Introducción
19
Introducción
Ventajas de los PLD:
Coste: Reducen el número de integrados, tiempo de montaje y Coste: Reducen el número de integrados tiempo de montaje y
tamaño del circuito impreso
Consumo: El consumo de un PLD es menor que el de varios circuitos q
integrados MSI
Confidencialidad: La programación del PLD no es accesible
Flexibilidad: Es posible modificar la funcionalidad cambiando la programación (sin cortar pistas o rehacer la placa)
H
i t CAD Si t
d d
ll
l
j d lt i l
Herramientas CAD: Sistema de desarrollo con lenguajes de alto nivel (VHDL, ABEL, CUPL)
19
Tema 1. Dispositivos lógicos programables de baja capacidad
1.1. Introducción
20
Índice
Introducción Introducción
Dispositivos lógicos programables de baja capacidad
Concepto de matriz programable
Concepto de matriz programable
PROM (Programable Read Only Memories)
PLA (Programable Logic
PLA (Programable Logic Array)
PAL (Programable Array Logic) y GAL (Generic Array Logic)
Programación de PLDs
Programación de PLDs
20
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. Concepto de matriz programable
21
Concepto de matriz
de matriz programable
Matriz de diodos
Fusible
Diodo
Distribución de conductores
de conductores
en filas y columnas unidos en los puntos de cruce por un diodo en serie con un fusible
Fase de programación de esta
matriz
Se basa en hacer circular por uno de esos diodos una corriente capaz de el fusible
fundir el fusible
Fundiendo selectivamente dichos
fusibles queda el dispositivo
programado, de forma que
p
g
,
q realiza
una función lógica determinada
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. Concepto de matriz programable
21
22
Concepto de matriz
de matriz programable
Matriz de diodos
Fusible
Diodo
Distribución de conductores
de conductores
en filas y columnas unidos en los puntos de cruce por un diodo en serie con un fusible
Fase de programación de esta
matriz
Se basa en hacer circular por uno de esos diodos una corriente capaz de el fusible
fundir el fusible
Fundiendo selectivamente dichos
fusibles queda el dispositivo
programado, de forma que
p
g
,
q realiza
una función lógica determinada
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. Concepto de matriz programable
H2
H1+H3
22
H1+H2+H3
23
Concepto de matriz
de matriz programable
En el caso de los PLDs
Existe una red de puertas
red de puertas (ARRAY GATE), que
(ARRAY GATE) que contiene una matriz
AND y una matriz OR
La matriz AND
Se generan los productos de las variables de entrada a partir de los valores
directos y negados de las señales de entrada
La matriz
La matriz OR OR
Proporciona la suma de los productos obtenidos en la matrix AND para
obtener una función deseada. 23
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. Concepto de matriz programable
24
Concepto de matriz
de matriz programable
Matriz AND:
AABB
AABB
X1
X1=AB
X2
X2=AB
X3
X3=AB
24
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. Concepto de matriz programable
25
Concepto de matriz
de matriz programable
Matriz OR:
AABB
X1
X2
X3
25
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. Concepto de matriz programable
26
Concepto de matriz
de matriz programable
Ejemplo
Líneas de Entrada
Puertas AND
Líneas “Productos
de términos”
de términos
Puertas OR
Fusibles
Programables
Salidas en suma de productos
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. Concepto de matriz programable
26
27
Concepto de matriz
de matriz programable
Ejemplo
Líneas de Entrada
Puertas AND
Líneas “Productos
de términos”
Puertas OR
Salidas en suma de productos
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. Concepto de matriz programable
27
28
Concepto de matriz
de matriz programable
Simbología en los PLD
Objetivo: reducción
Objetivo: reducción de la descripción
de la descripción de la circuitería
de la circuitería interna del del
dispositivo
Simbología adoptada por los fabricantes
El símbolo del inversor y del no‐inversor en uno solo, pero con dos salidas complementadas
Han simplificado las líneas de entrada a una puerta AND u OR por
medio de una sóla línea
Las conexiones entre puertas se representan mediante una X o un punto. p
Las X se encuentran en el plano programable y representa un fusible intacto. Un punto
p
ggrueso, que
q normalmente aparece
p
un el plano
p
fijo, representa
j
p
una conexión fija. 28
La ausencia de estos dos símbolo en un cruce significa que no existe
conexión entre ellas. Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. Concepto de matriz programable
29
Clasificación de PLD’s
Dependerá del plano o planos que sean programables
Dispositivos Lógicos Programables de Baja Capacidad
ROM
PROM
EPROM
PAL
EEPROM
PLA
GAL
29
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad
30
Índice
Introducción Introducción
Dispositivos lógicos programables de baja capacidad
Concepto de matriz programable
Concepto de matriz programable
PROM (Programmable Read Only Memories)
PLA (Programable Logic
PLA (Programable Logic Array)
PAL (Programable Array Logic) y GAL (Generic Array Logic)
Programación de PLDs
Programación de PLDs
30
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. PROM
31
Dispositivos PROM
PROM (Programable Read Only Memories): ROM programables, pero sólo una sóla
pero sólo una sóla vez
Consiste en una matriz fija de puertas AND + una red programable de puertas OR, la cual está basada en la arquitectura
en la arquitectura de la matriz
de la matriz
de puertas OR, la cual está basada
de diodos que vimos anteriormente
p
y N
Para N entradas, existen 2N combinaciones posibles Æ
hay 2
puertas AND en un PROM
La programación se efectúa fundiendo una serie de fusibles que existen entre las matrices de puertas OR. Puede implementar cualquier función lógica pero limitado por el número de entradas disponibles
31
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. PROM
32
Dispositivos PROM
Están basado en la arquitectura de
la matri de
de la matriz
de diodos + un decodificador que
ataca a las líneas horizontales. Con cada combinación de las
señales de entrada se activa
una y sólo
y sólo una de las
de las líneas
horizontales. Esta línea horizontal hará que
activen las líneas verticales en las cuales exista paso a través
del diodo
del diodo. Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. PROM
Matriz de fusibles OR
Matriz AND fija
O1 O2
Memoria de 4 palabras
de 4 32
bits
O3 O4
33
Dispositivos PROM
Ejemplo: Memoria PROM de 16 palabras de 4 bits
33
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. PROM
34
Dispositivos PROM
Características
Se realizan
Se realizan en tecnología
en tecnología bipolar
No consigue niveles de integración altos
Disipación
de potencia
alta
p
p
No se puede programar de nuevo el dispositivo
Programación
Mediante la destrucción de fusibles
Mediante la destrucción de una unión p‐n
34
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. PROM
35
Dispositivos PROM
Ventajas: Es capaz
Es capaz de decodificar
de decodificar cada combinación de entrada
de entrada
Inconvenientes
Por cada línea de entrada que se añade, se dobla el número de líneas de producto (número de interconexiones) y también la matrix ORÆ P=2E
P: número de líneas de producto
E: número
E: número de entradas
de entradas
Si aumenta el número de entradas, aumenta rápidamente su tamaño
Limitación en cuanto a implementación
de funciones lógicas
complejas
p
g
p j
Aplicaciones: Limitadas a aquellas que necesitan un gran número de productos pero
pocas señales de entrada
35
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. PROM
36
Dispositivos EPROM
En un dispositivo PROM, la programación no puede ser modificada puesto que no es
no es posible reponer los fusibles
los fusibles
fundidos.
se resuelve con memorias
con memorias ROM en tecnología
ROM en tecnología MOS
Esto se resuelve
Permite que el usuario pueda escribir repetidamente mediante un procedimiento no destructivo
Surgen los dispositivo EPROM (Erasable PROM o memoria de sólo
lectura programable y borrable)
él l EPROM
Memorias EPROM presentan células
Cada célula está formada por un transistor MOS con dos electrodos
puertas
36
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. PROM
37
Dispositivos EPROM
Cada célula de memoria EPROM está formada por un transistor MOS con dos electrodos
MOS con dos electrodos puertas
La puerta superior es la de control. Conectada al conductor fila
La puerta inferior es
inferior es una puerta flotante, es
flotante es decir, aislada
decir aislada del del
La puerta
sustrato y sumergida en SiO2
Floating gate
G
G
S
D
tox
tox
n+
p
Substrate
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. PROM
n +_
37
Dispositivos EPROM
Floating gate
38
G
G
S
D
tox
Programación
tox
n+
Substrate
b
p
n+_
Escribir en la célula implica aplicar una tensión inversa entre D y B: se provoca la entrada en conducción por avalancha de la unión p‐n de D y B Æ
acumulación de electrones con alta energía en la región de avalancha de la unión p‐n
La acumulación de electrones se desplaza a la puerta flotante a través de la fina capa de Si02 que
de Si02 que las separa
Estados lógicos:
Estado lógico ‘0’: ausencia de electrones en puerta flotante o no se aplica
entre D y B
tensión inversa entre D y B
Estado lógico ‘1’: presencia de electrones en puerta flotante o se aplica
tensión inversa entre D y B
R
Re‐programación
ió es posible
ibl llevando
ll
d a cabo
b el borrado
lb
d de información
d i f
ió
38
mediante luz ultravioleta (elevado tiempo de exposición 10 min a 30 min)
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. PROM
39
Índice
Introducción Introducción
Dispositivos lógicos programables de baja capacidad
Concepto de matriz programable
Concepto de matriz programable
PROM (Programmable Read Only Memories)
PLA (Programmable
PLA (Programmable Logic Array)
PAL (Programmable Array Logic) y GAL (Generic Array Logic)
Programación de PLDs
Programación de PLDs
39
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad. PLA
40
PLDs de baja capacidad
PLA: Programmable Logic Array
PAL: Programmable Array Logic
GAL: Generic Array Logic
40
Tema 1. Dispositivos lógicos programables
1.2. PLDs de baja capacidad
41
PLA (Programmable
PLA (Programmable Logic Array
Array))
Obj ti
d
t
t d
Objetivos de este apartado:
Arquitectura básica de una PLA
Limitación de la PLA
Limitación de la PLA
41
Tema 1. Dispositivos lógicos programables de baja capacidad
1.2. PLDs de baja capacidad
1.2.1 PLA (Programmable Logic Array)
42
PLA (Programmable
PLA (Programmable Logic Array
Array))
Arquitectura básica de una PLA o Matriz Lógica Programable
Presenta una estructura matricial AND de las variables de entradas Presenta una estructura matricial AND de las variables de entradas
(productos) y una estructura matricial OR (sumandos) ambas programables
V
j d l PLA f
l PROM
Ventajas de las PLA frente a las PROM
En una PLA, una línea producto puede ser combinación de algunas variables de entrada. (En una PROM, sólo activa una y sólo una línea producto por cada combinación diferente de las variables de entrada)
No es necesario que existan tantas líneas de productos como combinaciones posibles de variables de entrada.
combinaciones posibles de variables de entrada.
Sólo hay que generar los productos imprescindibles
Se programa con un PC (software de programación) más un adaptador de HW necesario. 42
El software traslada las ecuaciones Booleanas a instrucciones de programa
Tema 1. Dispositivos lógicos programables
1.2. PLDs de baja capacidad
1.2.1 PLA (Programmable Logic Array)
43
PLA (Programmable
PLA (Programmable Logic Array
Array))
Arquitectura básica de una PLA 3x2
AA BB
C C2*Número de entradas
Número de puertas AND
X
A
B
C
Y
43
Matriz AND
Matriz OR
Número de entradas
P<2Número de entradas
Tema 1. Dispositivos lógicos programables
1.2. PLDs de baja capacidad
1.2.1 PLA (Programmable Logic Array)
+5V
44
Plano
AND
X
Y
AND cableada
Z
IMPLEMENTAR Y1=XY+Z
+5V
Plano
OR
NOR cableada
+5V
45
Plano
AND
X
Y
PROBLEMA:
Retardos grandes debidos a
l s capacidades
las
p id d s p
parásitas
ásit s
Z
IMPLEMENTAR Y1=XY+Z
XY
Z
XY + Z
F= XY + Z
+5V
Plano
OR
46
Índice
Introducción Dispositivos lógicos programables de baja capacidad
Dispositivos lógicos programables de baja capacidad
Concepto de matriz programable
PROM (Programmable Read Only Memories)
PROM (Programmable
PLA (Programable Logic Array)
PAL (Programable Array
PAL (Programable Array Logic) y GAL (Generic
Logic) y GAL (Generic Array Logic)
Programación de PLDs
46
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
47
PAL y GAL
Obj ti
d
t
t d
Objetivos de este apartado:
Arquitectura básica de una PAL/GAL
Nomenclatura: PAL10L8
Nomenclatura: PAL10L8
Ejemplo: PAL16L8, PAL16R8, PAL16R4, PAL22V10
47
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
48
PAL y GAL
Clasificación de los SPLD (Simple PLD):
PLA: Programable Logic Array
PAL: Programable Array Logic
GAL: Generic
Array Logic
48
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
49
PAL
Arquitectura básica de una PAL (Programmable Array Logic) o Red Lógica Programable
AABB
3
A
2
B
Matriz AND
programable
5x4
Matriz
OR fija
2
Las entradas se aplican a las puertas AND, y selectivamente las conexiones que
49 se programen determinan qué señales tenemos a la salida de las puertas AND
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
50
PAL
Arquitectura básica de una PAL (Programmable Array Logic) o Red Lógica Programable
AABB
AABB
1 AB
Interruptor cerrado
2 AB
3
AB+AB
Interruptor abierto
0
A
A
B
B
4
AB
AB
5
1
AB
2
AB
3
0
4
AB
5
0
AB+AB
AB
0
50
‐ Cada función de salida será la suma de un nº determinado de líneas producto
‐ Cada línea producto es una AND programable de cualquier combinación de línea de entrada
‐ Las líneas producto no se pueden compartir entre diferentes funciones OR. Si varias salidas tienen
productos comunes, éstos habrán repetirlos
51
PAL
PAL (Programmable Array Logic) o Red Lógica Programable
La red AND programable
La red AND programable y la OR fija
y la OR fija permite a la PAL disponer
a la PAL disponer de de
tantas entradas como sea necesario
Características
No tan flexibles como las PLA
y
y
Mayor densidad y menores retardos
Existencia de un solo plano de programación Permiten realimentar salidas para aumentar flexibilidad
Es la que ofrece mayor variedad de opciones comerciales de todos los PLD
51
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
52
PAL
Elementos lógicos adicionales a la arquitectura básica de una PAL
S lid
i
bi t bl
Salidas que incorporan biestables
Programación del estado activo de las salidas (alto o bajo)
Estructura de salida bidireccional o líneas programables de E/S
Estructura de salida bidireccional o líneas programables de E/S
52
Macrocélulas de salida
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
53
PAL
Elementos lógicos adicionales a la arquitectura básica de una PAL
Salidas que incorporan biestables
Salidas que incorporan biestables
Proporcionan la capacidad de implementar circuitos secuenciales
Programación del estado activo de las salidas (alto o bajo)
Programación del estado activo de las salidas (alto o bajo)
Facilitan el trabajo a la hora de implementar las funciones lógicas con PAL
Estructura de salida bidireccional o líneas programables de E/S
La línea de salida puede programarse como Línea de salida sólo
Línea de salida sólo
Como línea de entrada sólo
Como línea de entrada/salida mediante un control dinámico
53
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
54
PAL
Estructura de salida bidireccional o combinacional
Basada en un buffer triestado:
Basada en un buffer triestado:
Línea de habilitación (línea ENABLE), que habilita la señal de salida como entrada o no Permite poner su salida en alta impedancia para que el pin pueda ser utilizado como entrada, mediante la línea de realimentación
Se pueden realimentar sumas de productos Æañadir más términos al Se pueden realimentar sumas de productos Æañadir más términos al
producto
L
ENABLE
H
54
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
55
PAL
Nomenclatura de una PAL
PAL16L8
Número total de entradas al plano AND, incluyendo tanto las
entradas dedicadas como
m las salidas que
qu se realimentan
m
55
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
56
PAL
Nomenclatura de una PAL
PAL16L8
Tipo de lógica de salida:
R: Biestables a la salida
L: Estructura combinacional activa a nivel bajo
H: Estructura combinacional activa a nivel alto
V: Estructura versátil: Se puede configurar como salida combinacional, salida
secuencial entrada/salida,
secuencial,
entrada/salida etc Î GAL
56
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
57
PAL y GAL
Nomenclatura de una PAL
PAL16L8
Número total de salidas
57
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
58
PAL y GAL
Estructura de salida
L,H ÆEstructura de salida combinacional
L H ÆEstructura de salida combinacional
R Æ Estructura de salida con biestable
V ÆEstructura de salida versátil Æ Macrocelda
V ÆEstructura de salida versátil Æ
58
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
59
PAL y GAL
Estructura de salida combinacional
Basada en un buffer triestado:
Basada en un buffer triestado:
Permite poner su salida en alta impedancia para que el pin pueda ser utilizado como entrada
Se pueden realimentar sumas de productos Æañadir más términos al producto
(AB+CD)EF
L
H
59
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
60
PAL
Estructura de salida secuencial con biestable
R
Realimentación de la salida del biestable ÆPermite el diseño de Realimentación de la salida del biestable ÆPermite el diseño de
máquinas de estado síncronas
Todos los biestables tienen la misma señal de relojj
Todos los biestables recibirán un reset inicial
No tienen reset asíncrono Æ Reset síncrono
El pin de selección del buffer triestado suele ser dedicado
Del
plano
AND
n
D
Q
Q
60
Al plano
AND
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
61
PAL y GAL
V
Estructura de salida versátil Æ
GAL
De la matriz
programable
11
10
D
Q
01
00
Q
S0
S1
A la matriz
programable
0
1
MACROCELDA
Las salidas bidireccionales son configurables:
Como salida combinacional
Como
salida combinacional
Como registro
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
61
62
PAL y GAL
V
Estructura de salida versátil Æ
GAL
De la matriz
programable
11
10
D
01
00
Q
Q
S0
S1
A la matriz
programable
0
1
MACROCELDA
1
n
X
X
Combinacional a 62
nivel Alto:
S0=0, S1=1
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
X
63
PAL y GAL
V
Estructura de salida versátil Æ
GAL
De la matriz
programable
11
10
D
Q
01
00
Q
S0
S1
A la matriz
programable
0
1
MACROCELDA
1
1
n
X
D
Q
X
Q
1
X
63
Registro a nivel Alto: S0=0, S1=0
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
X
64
PAL y GAL
V
Estructura de salida versátil Æ
GAL
De la matriz
programable
11
10
D
Q
01
00
Q
S0
S1
A la matriz
programable
0
1
MACROCELDA
64
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
65
PAL y GAL
16L8
1
7
Ejemplo: PAL16L8
1
7
Catálogo de Texas
Catálogo de Texas
Instrument
1
7
10
Plano
AND
1
7
1
64x32
7
1
7
1
7
1
7
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
65
66
PAL y GAL
CLK
16R8
8
D
Ejemplo: PAL16R8
Q
Q
8
Catálogo de Texas
Catálogo de Texas
Instrument
D
Q
Q
8
D
Q
Q
8
Señal de reloj única
Señal de habilitación dedicada
Biestables sin reset
í
asíncrono
Todas las salida síncronas
D
8
Plano
AND
Q
Q
8
D
64 32
64x32
Q
Q
8
D
Q
Q
8
D
Q
Q
8
OEN
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
D
Q
66
Q
67
PAL y GAL
16R4
CLK
1
Ejemplo: PAL16R4
7
1
Catálogo de Texas
Catálogo de Texas
Instrument
7
8
D
Q
Q
8
D
8
Plano
AND
Q
Q
8
D
64x32
Q
Q
8
D
Q
Q
1
7
1
7
OEN
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
67
68
PAL y GAL
Ejemplo: GAL22V10
Reset
R
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
8
10
12
14
16
16
14
12
10
8
68
Preset
P
Catálogo de Lattice
Catálogo de Lattice Semiconductor
69
PAL y GAL
Ejemplo: GAL22V10
Catálogo de Lattice
Catálogo de Lattice Semiconductor
1
Del
plano
AND
n
D
S0
Q
Q
S1
Al plano AND
MACROCELDA
69
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
70
PAL y GAL
Tecnologías de programación
Interruptor mediante fusibles
Interruptor reprogramable con luz ultravioleta
Interruptor reprogramable con luz ultravioleta
Interruptor reprogramable eléctricamente
p
Interruptor Flash
70
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
71
PAL y GAL
Tecnologías de programación: Fusibles
71
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
72
PAL y GAL
Tecnologías de programación: borrables
con UV
+5
V
Plano
AND
X
Floating gate
G
S
D
Y
tox
tox
Z
n+
Substrate
72
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
p
n+_
73
PAL y GAL
Tecnologías de programación
Interruptor mediante fusibles
Interruptor reprogramable con luz ultravioleta
Interruptor reprogramable con luz ultravioleta
Interruptor reprogramable eléctricamente
p
Interruptor Flash
73
Tema 1. Dispositivos lógicos programables de baja capcidad
1.2. PLDs de baja capacidad
1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic)
74
Índice
Introducción Introducción
Dispositivos lógicos programables de baja capacidad
PLA (Programable Logic Array)
PLA (Programable Logic
PAL (Programable Array Logic) y GAL (Generic Array Logic)
Programación de PLDs
Programación de PLDs
74
Tema 1. Dispositivos lógicos programables de baja capacidad
75
Programación de Programación de PLDs
PLDs
Obj ti
d
t
t d
Objetivos de este apartado:
¿Cómo se programan los PLDs? 75
Tema 1. Dispositivos lógicos programables de baja capacidad
1.4. Programación de PLDs
76
Programación de Programación de PLDs
PLDs
SPLDs
76
Tema 1. Dispositivos lógicos programables
1.4. Programación de PLDs
77
Bibliografía
Libros de Texto:
Libros de Texto:
T.L. Floyd. Digital Fundamentals. Prentice Hall. 9ª Edición, 2006
Apuntes de cátedra: VHDL
Apuntes de cátedra: VHDL
Complementado con:
JJ. F. Wakerly. Digital Design: Principles
a e y g ta es g
c p es aand Practices. Prentice
d act ces e t ce Hall. 6ª a 6
edición. 2005.
A.K. Sharma “Programable logic Handbook”
K. Skahill “VHDL for programmable Logic”
http://www.xilinx.com
http://www altera com
http://www.altera.com
77
http://www.quicklogic.com
Tema 1. Dispositivos lógicos programables