Академический Документы
Профессиональный Документы
Культура Документы
DISPOSITIVOS
LGICOS
PROGRAMABLES
ITTG Diseo D
ITTG Diseo D
Fig. 7.1 a)
5
Fig. 7.1 b)
ITTG Diseo D
ITTG Diseo D
ITTG Diseo D
10
ITTG Diseo D
11
12
ITTG Diseo D
13
14
ITTG Diseo D
15
ITTG Diseo D
16
Funcionamiento de la PAL
Como ya se menciono, una matriz programable es bsicamente una
red de conductores ordenados en filas y columnas, con un fusible en
cada punto de interseccin.
Como se puede ver en la
figura, cada fila se conecta a
la entrada de una puerta
AND y cada columna a una
variable de entrada o a su
complemento. Cada punto
de interseccin entre una
fila y una columna se
denomina celda y es el
elemento programable de la
PAL..
ITTG Diseo D
17
Funcionamiento de la PAL
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 lgica con un nmero de
variables definido.
En la Figura 7.7 se ilustra la estructura bsica de una PAL para dos
variables de entrada y una salida, aunque la mayora de las PAL
tienen muchas entradas y muchas salidas.
ITTG Diseo D
18
Figura 7.7.
ITTG Diseo D
19
ITTG Diseo D
20
ITTG Diseo D
21
Smbolos simplificados
Las PAL reales tienen muchas puertas AND y muchas puertas
OR, adems de otra circuitera, y son capaces de manejar
muchas variables de entrada y sus complementos.
Puesto que las PAL son circuitos integrados muy complejos, los
fabricantes han adoptado una notacin simplificada para
eliminar los diagramas lgicos arrolladoramente complicados.
Buffers de entrada. Para evitar cargar con la gran cantidad de
entradas de puertas AND a las que se pueden conectar una
variable o su complemento, se aade un buffer a las variables de
entrada de la PAL. Un buffer inversor genera el complemento de
una variable de entrada. El smbolo que representa el circuito
buffer, el cual genera la variable y su complemento en sus
salidas, se muestra en la Figura 7.9, donde la salida con el
crculo corresponde a la variable complementada.
ITTG Diseo D
22
ITTG Diseo D
23
Figura 7.9.
ITTG Diseo D
24
ITTG Diseo D
25
EJEMPLO 7.1
Indicar cmo se programa una PAL para obtener la siguiente
funcin lgica de tres variables:
ITTG Diseo D
26
27
ITTG Diseo D
28
ITTG Diseo D
29
30
ITTG Diseo D
31
La Figura muestra el
diagrama a bloques del
dispositivo PAL16L8.
Este dispositivo tiene
10 entradas dedicadas,
dos salidas dedicadas y
6 salidas que se pueden
utilizar como entradas
o como salidas. Las
salidas son activas a
nivel BAJO.
ITTG Diseo D
32
EJ EMPIO 7.2
Determinar el nmero de entradas, el nmero de salidas y el tipo
de salida de cada una de las siguientes referencias de
dispositivos PAL:
(a) PAL12H6, (b) PAL16L2 y (c) PAL20P8
Solucin
(a) 12 entradas, 6 salidas, salidas activas a nivel ALTO.
(b) 16 entradas, 2 salidas, salidas activas a nivel BAJO.
(c) 20 entradas, 8 salidas, salidas programables.
Tarea: Describir la PAL cuya referencia es PAL14H4.
ITTG Diseo D
33
34
ITTG Diseo D
35
ITTG Diseo D
36
37
ITTG Diseo D
38
ITTG Diseo D
39
EJEMPLO 7.3
Indicar cmo se programa una GAL para obtener la
siguiente expresin de 3 variables:
ITTG Diseo D
40
ITTG Diseo D
41
42
ITTG Diseo D
43
ITTG Diseo D
44
EJ EMPLO 7.4
Determinar el nmero de entradas y el nmero de salidas
de cada una de las siguientes referencias.
(a) GAL20V8 (b) GAL22V10
Solucin
(a) 20 entradas, 8 salidas.
(b) 22 entradas, 10 salidas.
Tarea: Describir una GAL cuya referencia es
GAL18V10.
ITTG Diseo D
45
LA GAL22V10
Las diversas GAL tienen el mismo tipo de matriz programable. Se
diferencian en el tamao de la matriz, en el tipo de OLMC
(macroceldas lgicas de salida (OLMC, output logic macrocells)),
y en los parmetros de funcionamiento, tales como velocidad y
disipacin de potencia. Esta seccin se ocupa de la popular matriz
lgica genrica GAL22 V10, con el fin de ilustrar los principios
comunes a todos los tipos de GAL. En la siguiente seccin
veremos la GAL16V8.
ITTG Diseo D
46
47
48
ITTG Diseo D
49
ITTG Diseo D
50
ITTG Diseo D
51
52
53
ITTG Diseo D
54
EJ EMPLO 7.5
Determinar la expresin de salida de una OLMC ( output logic
macrocells ) de la GAL22V10, para los productos indicados en la
matriz AND y los bits de seleccin de la Figura 7.24.
ITTG Diseo D
55
ITTG Diseo D
56
LA GAL16V8
En esta seccin se va a tratar otro tipo de matriz lgica genrica,
la GAL16V8. La principal caracterstica de la GAL16V8 es que
se puede programar para emular muchos tipos de PAL.
Diagrama de bloques de la GAL16V8
La GAL16V8 tiene ocho entradas dedicadas y ocho
entradas/salidas (E/S), como muestra el diagrama de bloques de
la Figura 7.28(a), en el que se indica la numeracin de los pines
del encapsulado. Este dispositivo est disponible en
encapsulado DIP (dual in- line) de 20 pines o en PLCC (plastic
chip carrier) tambin de 20 pines, como muestra la parte (b) de
la misma figura. Este dispositivo tambin est disponible en
una versin de baja tensin, la GAL16LV8.
ITTG Diseo D
57
ITTG Diseo D
58
La OLMC
La OLMC ( output logic macrocells ) de la GAL16V8 es algo
diferente de la que incorpora la GAL22V10. La GAL16V8 est
diseada para programarse en uno de los tres modos disponibles
para emular a la mayora de las PAL existentes y, por tanto,
puede reemplazar a la PAL para la que se programe.
Emulacin de una PAL. Todas las posibles configuraciones de
la OLMC de la GAL16V8 se clasifican en tres modos bsicos:
simple, complejo y secuencial. Cada uno de estos modos
permite programar a la GAL16V8 para emular a una serie de
dispositivos PAL, que se especifican en la Tabla 7.1.
Los modos simple y complejo se asocian nicamente con
salidas combinacionales y se explican a continuacin.
ITTG Diseo D
59
ITTG Diseo D
60
ITTG Diseo D
61
62
ITTG Diseo D
63
ITTG Diseo D
65
CPLD y FPGA
Adems de los dispositivos PLD tan sencillos como la GAL, hay
disponibles otros dispositivos lgicos programables mucho ms
sofisticados. Los dos tipos bsicos son los dispositivos PLD
complejos (CPLD) y las FPGA (Field Programmable gate array
matrices de puertas programables por campo).
Los CPLD son esencialmente versiones ms grandes de los
sencillos PLD, con una matriz de interconexin interna
centralizada que se utiliza para conectar las macroceldas del
dispositivo. Al igual que los sencillos PLD que hemos visto, la
matriz de interconexin se programa para conectar de forma
selectiva seales de entrada a un nivel de puertas AND
programables conectadas a su vez a un nivel de puertas OR fijo.
ITTG Diseo D
66
67
Por otro lado, las FPGA constan de una matriz de gran tamao de
celdas lgicas simples (ms simples que las macroceldas de los
CPLD) con canales de rutado horizontal y vertical para
interconexin. Las FPGA no tienen una estructura de
implementacin predefinida, como los CPLD, y a travs de la cual
debe pasar cada seal del CPLD. En lugar de ello, las FPGA
permiten que los canales de rutado conecten entre s las celdas
lgicas de mltiples maneras distintas, para implementar las
funciones lgicas deseadas.
De hecho, y dependiendo de las restricciones de diseo y de los
recursos disponibles, se pueden implementar dos funciones lgicas
idnticas de maneras completamente distintas dentro del mismo
dispositivo. Este tipo de diseo hace a las FPGA extremadamente
flexibles y permite a los diseadores implementar circuitos lgicos
combinatorios y secuenciales muy complejos. Algunas FPGA de gran
tamao pueden incluso ser programadas para operar como
ITTG Diseo D
68
microprocesadores.
69
Software
Los paquetes de software para la programacin de dispositivos
PLD se denominan compiladores lgicos. Existen diversos
paquetes de software disponibles, entre los que se incluyen los
siguientes (existen otros adems de estos): ABEL, CUPL,
OrCADPLD y LOG/iC.
Todos estos paquetes de software realizan funciones similares:
Procesan y sintetizan el diseo lgico introducido mediante un
mtodo especfico, convierten los datos introducidos en un archivo
intermedio y luego generan un archivo de salida que se denomina
archivo JEDEC (conocido tambin como mapa de celdas o mapa
de fusibles) para el programador del dispositivo. Tambin, con este
software, se puede simular y depurar de forma completa un diseo
lgico antes de proceder a fabricar el hardware.
ITTG Diseo D
70
ITTG Diseo D
71
72
73
74
75
ABEL
Es el acrnimo de Advanced Boolean Expression Language,
permite implementar diseos lgicos en dispositivos lgicos
programables. ABEL se puede utilizar para programar cualquier
tipo de PLD y, por tanto, es un lenguaje independiente del
dispositivo. El lenguaje ABEL se ejecuta en una computadora
conectada a un programador de dispositivos, independiente del
lenguaje, en el que se inserta el PLD.
Introduccin del diseo lgico.
ABEL proporciona tres diferentes formatos para describir e
introducir un diseo lgico desde el teclado de una computadora:
ecuaciones, tablas de verdad y diagramas de estado. Las
ecuaciones y las tablas de verdad se usan en los diseos lgicos
combinacionales.
ITTG Diseo D
76
77
Operaciones booleanas
Como muestra la Tabla 7.2, por orden de prioridad, las
operaciones NOT (inversin), AND, OR y OR-exclusiva utilizan
smbolos especiales en el lenguaje ABEL. Como en el lgebra de
Boole, se pueden utilizar parntesis para alterar el orden de
prioridad.
ITTG Diseo D
78
Ecuaciones
Uno de los mtodos de entrada de ABEL son las ecuaciones
lgicas. El signo igual (=) es el mismo que en las ecuaciones
estndar y, cualquier letra o combinacin de letras y nmeros,
puede emplearse como identificadores de variables. ABEL
diferencia entre maysculas y minsculas. La letra mayscula A y
la minscula a son dos variables diferentes.Todas las ecuaciones en
ABEL deben terminarse con un punto y coma (;).
ITTG Diseo D
79
ITTG Diseo D
80
Tablas de verdad
Otro mtodo de entrada de ABEL utiliza las tablas de verdad.
Una funcin lgica especfica puede pasarse a ecuacin, como
hemos visto, o a tabla de verdad. En cuanto al resultado, ambos
mtodos son equivalentes. Usualmente, las tablas de verdad
son ms adecuadas que las ecuaciones para describir ciertos
tipos de circuitos, tales como decodificadores.
La tabla de verdad en ABEL se define mediante una cabecera y
las entradas de la tabla.
El formato de la cabecera se especifica como se indica en la
siguiente expresin:
TRUTH_TABLE ([A, B, C, D] > [Xl, X2])
ITTG Diseo D
81
ITTG Diseo D
82
EJ EMPLO 7.9
Desarrollar una tabla de verdad ABEL para un decodificador
BCD-7 segmentos.
Utilizar la tabla de verdad mostrada en la Tabla 4.10. El
diagrama de bloques y el formato de 7 segmentos se muestran
en la Figura 7.34. Las salidas son activas a nivel ALTO.
Solucin. La entrada ms significativa es D y la entrada menos
significativa es A.
Las salidas de los segmentos son de a hasta g. Una salida a 1
significa que el segmento est encendido y un O significa que
el segmento est apagado.
ITTG Diseo D
83
ITTG Diseo D
84
ITTG Diseo D
85
ITTG Diseo D
86
ITTG Diseo D
87