DISEÑO PROGRAMABLE
DISPOSITIVOS LÓGICOS PROGRAMABLES (PLD)Y MEMORIAS.
1. Introducción.
Las modernas técnicas de circuitos integrados permiten combinar miles e incluso millones
de puertas dentro de un solo encapsulado. Esto ha llevado a la fabricación de diseños más
complejos como los dispositivos lógicos programables, memorias, MICROPROCESADORES Y
MICROCONTROLADORES que proporcionan dentro de un solo chip circuitos que requieren gran
cantidad de componentes discretos.
2. Dispositivos lógicos programables.
Los dispositivos lógicos programables (Programmable Logic Device, PLD) contienen una
gran cantidad de puertas lógicas dentro de un solo encapsulado y permiten al usuario determinar
como éstas deben unirse. Esta tecnología se conoce también como lógica programable, pues
las puertas no están comprometidas con ninguna función específica. Se utilizan tanto en
aplicaciones combinacionales como secuenciales.
En muchas aplicaciones, los PLDs y, en concreto las matrices lógicas programables
(Programmable Array Logic, PAL) y las matrices lógicas genéricas (Generic Array Logic, GAL)
pueden emplearse para reemplazar dispositivos lógicos SSI y MSI consiguiendo con ello una
reducción de etapas y costes.
Un PLD está formado por una matriz de puertas AND y puertas OR que se pueden
programar para conseguir funciones lógicas dadas. Existen cuatro tipos de dispositivos que se
clasifican como PLDs:
▪ La memoria programable de sólo lectura (Programmable Read Only Memory, PROM).
▪ La matriz lógica programable PLA (Programmable Logic Array).
▪ La matriz lógica programable PAL (Programmable Array Logic).
▪ La matriz lógica genérica GAL (Generic Array Logic).
2.1. Matrices programables.
Todos los PLDs están formados por matrices programables. Una matriz programable es
una red de conductores distribuidos por filas y columnas con un fusible en cada punto de
intersección.
2.1.1. Matriz OR.
Está formada por una serie de puertas OR conectadas a una matriz programable con
fusibles en cada punto de intersección de una columna y una fila, como muestra la figura 5.1. La
matriz se programa fundiendo los fusibles para eliminar las variables seleccionadas de las
funciones de salida, como ilustra la parte (b). Para cada una de las entradas de la puerta OR sólo
queda intacto un fusible que conecta la variable deseada a la entrada de la puerta. Una vez que
el fusible está fundido no se puede volver a conectar.
B B A A (a) B B A A (b)
A+B
A+B
A+B
Figura 5.1 (a)Matriz OR. (b) Matriz OR programada.
2.1.1. Matriz AND.
Este tipo de matriz está formado por puertas AND conectadas a una matriz programable
con fusibles en cada punto de intersección como muestra la figura 5.2. Al igual que la matriz OR
se programa fundiendo los fusibles para eliminar las variables de las funciones de salida, como
muestra la parte (b).
B B A A (a) B B A A (b)
A B
A B
A B
Figura 5.2 (a)Matriz AND. (b) Matriz AND programada.
2.2. Clasificación de PLDs.
Se clasifican de acuerdo a su arquitectura, es decir, la ordenación funcional de los
elementos internos que proporciona al dispositivo sus características específicas.
▪ Memoria programable de sólo lectura (Programmable Read Only Memory, PROM).
Está formada por un conjunto fijo de puertas AND (no programable) conectadas como
decodificador y una matriz programable OR, como muestra la figura 5.3. Se utiliza como
memoria direccionable y no como dispositivo lógico.
Entrada 1 Salida 1
Entrada 2 Salida 2
Matriz Matriz OR
AND fija programable
Entrada n Salida n
Figura 5.3 Diagrama de bloques de una PROM.
▪ Matriz lógica programable PLA (Programmable Logic Array).
Es un PLD formado por una matriz AND programable y una matriz OR programable.
También se denomina FPLA (Field Programmable Logic Array) debido a que es el usuario
y no el fabricante el que la programa.
Entrada 1 Salida 1
Entrada 2 Matriz Salida 2
Matriz OR
AND
programable
programable
Entrada n Salida n
Figura 5.4 Diagrama de bloques de una PLA.
▪ Matriz lógica programable PAL (Programmable Array Logic).
Se ha desarrollado para superar ciertas desventajas de la PLA, tales como largos retardos
debidos a fusibles adicionales que resulta de la utilización de dos matrices programables y
la mayor complejidad del circuito. La PAL básica está formada por una matriz AND
programable y una matriz OR fija con la lógica de salida.
Entrada 1 Salida 1
Entrada 2 Matriz Matriz OR Salida 2
AND fija y lógica
programable de salida
Entrada n Salida n
Figura 5.5 Diagrama de bloques de una PAL.
▪ Matriz lógica genérica GAL (Generic Array Logic).
Es el desarrollo más reciente. Al igual que la PAL se forma con una matriz AND
programable y una matriz OR fija. Las dos principales diferencias son:
• Es reprogramable: usa la tecnología E2CMOS (Electrically Erasable CMOS) CMOS
borrable eléctricamente en lugar de fusibles.
• Tiene configuraciones de salida programables.
Entrada 1 Salida 1
Matriz OR fija
Entrada 2 Matriz Salida 2
y lógica de
AND
reprogramable salida
programable
Entrada n Salida n
Figura 5.6 Diagrama de bloques de una GAL.
2.3. Matriz lógica programable PAL.
Los dispositivos lógicos programables que se usan más comúnmente para la
implementación lógica son la PAL y la GAL.
Una PAL está formada por una matriz de puertas AND programable, conectada a una
matriz de puertas OR fija. Esta estructura permite implementar cualquier suma de productos
lógica con un número de variables definido (cualquier función lógica puede expresarse como
suma de productos).
En la figura 5.7 se ilustra la estructura básica de una PAL para dos variables de entrada y
una de salida, aunque la mayoría de PALs tienen muchas entradas y muchas salidas.
B B A A B B A A (b)
(a)
AB+AB+AB
Figura 5.7 (a)Estructura básica de una PAL. (b) Ejemplo de implementación de una suma de productos
Existe una gran variedad de PALs cada una de las cuales se identifica mediante una
referencia. Este referencia siempre comienza con el prefijo PAL. Los dos primeros dígitos que
siguen indican el número de entradas. La letra siguiente indica el tipo de salida: L = LOW (activa
a nivel bajo), H = HIGH (activa a nivel alto) y P = polaridad programable. Y los últimos dos
dígitos designan el número de salidas. Por ejemplo PAL10L8 designará a una PAL de 10
entradas activas a nivel bajo y 8 salidas. Esta referencia, además, puede llevar subíndices que
especifican la velocidad, tipo de encapsulado y el rango de temperatura.
Notación para las redes Lógicas Programables
Notación simplificada para una red lógica de 4x3 con 6 mintérminos:
Realizar el siguiente ejemplo:
B
A
C
B
A
D
A
F1
F2
A
F3
A
El lugar donde no hay cruces significa que se han “quemado” los fusibles
P1= A.B
P2=A’.B’.C’.D’ = 𝐴̅ . 𝐵̅ . 𝐶̅ . 𝐷
̅
P3=A.C’
P4=A’.C.D
P5=B
P6=A’.B’.D’
F1=P1+P2= A.B+A’.B’.C’.D’
F2=P3+P4+P5=A.C’+A’.C.D+B
F3=P1+P3+P6=A.B+A.C’+A’.B’.D’
EL MICROPROCESADOR
El microprocesador representa el corazón de cualquier sistema microprocesado y su funcionamiento
es importante para todo el sistema.
La función principal del uP es recoger, decodificar y ejecutar las instrucciones que residen en memoria.
Transfiere datos desde la memoria externa a sus propios registros internos y viceversa.
Los componentes esenciales de cualquier sistema que tenga microprocesadores son:
1. La Unidad Central de Procesos (CPU) que generalmente es un microprocesador.
2. La memoria que puede ser RAM, ROM.
3. Los circuitos de interface para las entradas y salidas (E/S) del sistema, para conexiones de
dispositivos externos.
SISTEMA MICROPROCESADO
MICROCONTROLADOR
• Controlador : Dispositivo que se emplea para el gobierno de uno o varios procesos. Por
ejemplo, el controlador que regula el funcionamiento de un horno.
• Los controladores se construían con componentes de lógica discreta, posteriormente se
emplearon los uP, que trabajan con memorias y dispositivos de E/S sobre una tarjeta.
• Actualmente, todos los elementos del controlador se han podido incluir en un chip:
Microcontrolador.
• Microcontrolador es un C.I. de alta escala de integración que incorpora la mayor parte de los
elementos que configuran un controlador.
COMPONENTES DE UN MICROCONTROLADOR
• Procesador o UCP (Unidad Central de Proceso).
• Memoria RAM para Contener los datos.
• Memoria para el programa tipo ROM/PROM/EPROM/EEPROM/FLASH.
• Líneas de E/S (PUERTOS)para comunicarse con el exterior.
• Diversos módulos para el control de periféricos (temporizadores, Puertas Serie y Paralelo, CAD,
CDA, etc.).
• Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema.