ÁLGEBRA DE BOOLE Y COMPUERTAS
Introducción
al álgebra de Boole
Muchos
componentes utilizados en sistemas de control, como contactores y relés,
presentan dos estados claramente diferenciados (abierto o cerrado, conduce o no
conduce). A este tipo de componentes se les denomina componentes todo o nada o
también componentes lógicos.
Para
estudiar de forma sistemática el comportamiento de estos elementos, se
representan los dos estados por los símbolos 1 y 0 (0 abierto, 1 cerrado). De
esta forma podemos utilizar una serie de leyes y propiedades comunes con
independencia del componente en sí; da igual que sea una puerta lógica, un
relé, un transistor, etc...
Atendiendo
a este criterio, todos los elementos del tipo todo o nada son representables
por una variable lógica, entendiendo como tal aquella que sólo puede tomar los
valores 0 y 1. El conjunto de leyes y reglas de operación de variables lógicas
se denomina álgebra de Boole, ya que fué George Boole quien desarrolló las
bases de la lógica matemática.
Operaciones
lógicas básicas
Sea un
conjunto formado por sólo dos elementos que designaremos por 0 y 1. Llamaremos
variables lógicas a las que toman sólo los valores del conjunto, es decir 0 o
1.
En dicho conjunto se definen tres operaciones básicas:
En dicho conjunto se definen tres operaciones básicas:
SUMA
LOGICA:
Denominada
también operación "O" (OR). Esta operación responde a la siguiente
tabla:
a
|
b
|
a+b
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
PRODUCTO LOGICO:
Denominada también operación
"Y" (AND). Esta operación responde a la siguiente tabla:
a
|
b
|
a*b
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
0
|
1
|
1
|
1
|
NEGACION LOGICA:
Denominada también operación
"N" (NOT). Esta operación responde a la siguiente tabla:
a
|
a'
|
0
|
1
|
1
|
0
|
Propiedades del álgebra de Boole
Las
propiedades del conjunto en el que se han definido las operaciones (+, *, ')
son las siguientes:
PROPIEDAD CONMUTATIVA:
De la suma: a+b = b+a
Del producto: a*b = b*a
Del producto: a*b = b*a
PROPIEDAD ASOCIATIVA:
De la suma: (a+b)+c = a+(b+c) = a+b+c
Del producto: (a*b)*c = a*(b*c) = a*b*c
Del producto: (a*b)*c = a*(b*c) = a*b*c
LEYES DE IDEMPOTENCIA:
De la suma: a+a = a ; a+a' = 1
Del producto: a*a = a ; a*a' = 0
Del producto: a*a = a ; a*a' = 0
PROPIEDAD DISTRIBUTIVA:
De la suma respecto al producto:
a*(b+c) = (a*b) + (a*c)
Del producto respecto a la suma: a + (b*c) = (a+b) * (a+c)
Del producto respecto a la suma: a + (b*c) = (a+b) * (a+c)
LEYES DE DE MORGAN:
(a+b+c)' = a'*b'*c'
(a*b*c)' = a'+b'+c'
(a*b*c)' = a'+b'+c'
Otras operaciones lógicas
A
partir de las operaciones lógicas básicas se pueden realizar otras operaciones
booleanas, las cuales son:
NAND, cuya tabla correspondiente es:
a
|
b
|
(a*b)'
|
0
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
NOR, cuya tabla correspondiente es:
a
|
b
|
(a+b)'
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
XOR, también llamada función
OR-EXCLUSIVA. Responde a la tabla:
a
|
b
|
a(+)b
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
Puertas
lógicas
Todas
las funciones lógicas vistas hasta el momento poseen una representación
normalizada, la cual se muestra en la figura siguiente:
Estas
puertas las podemos encontrar empaquetadas dentro de distintos circuitos
integrados. Por ejemplo, para la familia lógica TTL tenemos las siguientes
referencias:
54/74 (LS) 00
Cuádruple puerta NAND de dos
entradas
54/74 (LS)
02 Cuádruple puerta NOR
de dos entradas
54/74 (LS)
04 Séxtuple puerta NOT
54/74 (LS)
08 Cuádruple puerta AND
de dos entradas
54/74 (LS)
10 Triple puerta NAND de
tres entradas
54/74 (LS)
11 Triple puerta AND de
tres entradas
54/74 (LS)
20 Doble puerta NAND de
cuatro entradas
54/74 (LS)
21 Doble puerta AND de
cuatro entradas
54/74 (LS)
27 Triple puerta NOR de
tres entradas
54/74 (LS)
30 Puerta NAND de ocho
entradas
54/74 (LS)
32 Cuádruple puerta OR de
dos entradas
Las
puertas lógicas más frecuentes, baratas, y fáciles de encontrar son las NAND.
Debido a esto se suelen implementar circuitos digitales con el mayor número de
dichas puertas.
Hay
que mencionar en este punto que los niveles de tensión que se corresponden con
los niveles lógicos 1 y 0 dependen de la familia lógica empleada. De momento
basta saber que la familia TTL se alimenta con +5V, por lo que los niveles de
tensión se corresponderán con +5V para el 1 lógico y 0V para el 0 lógico
(idealmente hablando).
Funciones lógicas
Supongamos
que tenemos dos entradas, A y B, y una salida F. Vamos a hacer que la salida
sea 1 lógico cuando A y B tengan el mismo valor, siendo 0 la salida si A y B
son diferentes.
En
primer lugar veamos los valores de A y B que hacen 1 la función:
A = 1 y B = 1
A = 0 y B = 0
A = 0 y B = 0
Es decir, podemos suponer dos funciones
de respuesta para cada caso:
F1 = A*B (A y B a 1
hacen F1 1)
F2 = A'*B' (A y B a 0 hacen F2 1)
F2 = A'*B' (A y B a 0 hacen F2 1)
La suma de estas funciones será la
función lógica final que buscamos:
F = F1 + F2 =
(A*B)+(A'*B')
A continuación vamos a ver como en
muchos casos es posible simplificar la función lógica final en otra más simple
sin alterar el funcionamiento del circuito.
SIMPLIFICACIÓN
DE FUNCIONES
Supongamos
que tenemos un circuito donde "F" es la respuesta (salida) del mismo
en función de las señales A, B, y C (entradas):
F =
A*B*C + A'*B*C + B*C
Esta
función puede ser simplificable aplicando las propiedades del álgebra de Boole.
En primer lugar aplicamos la propiedad distributiva:
F =
B*C*(A+A') + B*C
Ahora
aplicamos las leyes de idempotencia:
F = B*C
+ B*C = B*C
Como
hemos podido ver en este ejemplo en muchas ocasiones se puede simplificar la
función (y por tanto el circuito) sin que ello afecte al resultado. Más
adelante veremos como simplificar funciones empleando otros métodos más
sencillos y fiables.
Tabla de verdad
DEFINICION:
Es
una forma de representación de una función en la que se indica el valor 0 o 1
para cada valor que toma ésta por cada una de las posibles combinaciones que
las variables de entrada pueden tomar.
Anteriormente
hemos visto las tablas de respuesta de cada una de las operaciones lógicas;
estas tablas son tablas de verdad de sus correspondientes puertas lógicas.
La
tabla de verdad es la herramienta que debemos emplear para obtener la forma
canónica de la función del circuito, para así poder simplificar y conseguir la
función más óptima.
Veamos
un ejemplo de un circuito y la tabla de verdad correspondiente:
|
Como podemos ver, si simplificamos la
función obtenemos:
F = (A*B*C*D)'
es decir, un puerta NAND de 4 entradas.
Familias
lógicas
Los
circuitos digitales emplean componentes encapsulados, los cuales pueden
albergar puertas lógicas o circuitos lógicos más complejos.
Estos
componentes están estandarizados, para que haya una compatibilidad entre
fabricantes, de forma que las características más importantes sean comunes. De
forma global los componentes lógicos se engloban dentro de una de las dos
familias siguientes:
TTL:
diseñada para una alta velocidad.
CMOS:
diseñada para un bajo consumo.
Actualmente
dentro de estas dos familias se han creado otras, que intentan conseguir lo
mejor de ambas: un bajo consumo y una alta velocidad.
No se
hace referencia a la familia lógica ECL, la cual se encuentra a caballo entre
la TTL y la CMOS. Esta familia nació como un intento de conseguir la rapidez de
TTL y el bajo consumo de CMOS, pero en raras ocasiones se emplea.
Comparación de las familias
PARAMETRO
|
TTL
estándar
|
TTL 74L
|
TTL
Schottky de baja potencia (LS)
|
Fairchild
4000B CMOS (con Vcc=5V)
|
Fairchild
4000B CMOS (con Vcc=10V)
|
Tiempo de propagación de puerta
|
10 ns
|
33 ns
|
5 ns
|
40 ns
|
20 ns
|
Frecuencia máxima de funcionamiento
|
35 MHz
|
3 MHz
|
45 MHz
|
8 MHz
|
16 MHz
|
Potencia disipada por puerta
|
10 mW
|
1 mW
|
2 mW
|
10 nW
|
10 nW
|
Margen de ruido admisible
|
1 V
|
1 V
|
0'8 V
|
2 V
|
4 V
|
Fan out
|
10
|
10
|
20
|
50 (*)
|
50 (*)
|
(*) O
lo que permita el tiempo de propagación admisible
Dentro
de la familia TTL encontramos las siguiente sub-familias:
- L: Low power = dsipación de potencia muy baja
- LS: Low power Schottky = disipación y tiempo de propagación pequeño.
- S: Schottky = disipación normal y tiempo de propagación pequeño.
- AS: Advanced Schottky = disipación normal y tiempo de propagación extremadamente pequeño.
TENSION DE ALIMENTACION
CMOS: 5 a 18 V (dependiendo de la
tensión tendremos un tiempo de propagación).
TTL: 5 V.
Parámetros
de puerta
Las
puertas lógicas no son dispositivos ideales, por lo que vamos a tener una serie
de limitaciones impuestas por el propio diseño interno de los dispositivos
lógicos. Internamente la familia TTL emplea transistores bipolares (de aquí su
alto consumo), mientras que la familia CMOS emplea transistores MOS (a lo que
debe su bajo consumo)
.
MARGEN
DEL CERO
Es el
rango de tensiones de entrada en que se considera un cero lógico:
VIL
máx: tensión máxima que se admite como cero lógico.
VIL
mín: tensión mínima que se admite como cero lógico.
MARGEN
DEL UNO
Es el
rango de tensiones de entrada en que se considera un uno lógico:
VIH
máx: tensión máxima que se admite como uno lógico.
VIH mín: tensión mínima que se admite como uno lógico.
VIH mín: tensión mínima que se admite como uno lógico.
MARGEN
DE TRANSICION
Se
corresponde con el rango de tensiones en que la entrada es indeterminada y
puede ser tomada como un uno o un cero. Esta zona no debe ser empleada nunca,
ya que la puerta se comporta de forma incorrecta.
MT =
VIH mín - VIL máx
AMPLITUD
LOGICA
Debido
a que dos puertas de la misma familia no suelen tener las mismas
características debemos emplear los valores extremos que tengamos, utilizando
el valor de VIL máx más bajo y el valor de VIH mín más alto.
AL máx:
VH máx - VL mín
AL mín:
VH mín - VL máx
RUIDO
El
ruido es el elemento más común que puede hacer que nuestro circuito no funcione
habiendo sido diseñado perfectamente. El ruido puede ser inherente al propio
circuito (como consecuencia de proximidad entre pistas o capacidades internas)
o también como consecuencia de ruido exterior (el propio de un ambiente
industrial).
Si
trabajamos muy cerca de los límites impuestos por VIH y VIL puede que el ruido
impida el correcto funcionamiento del circuito. Por ello debemos trabajar
teniendo en cuenta un margen de ruido:
VMH
(margen de ruido a nivel alto) = VOH mín - VIH mín
VML
(margen de ruido a nivel bajo) = VIL máx - VOL máx
VOH y
VOL son los niveles de tensión del uno y el cero respectivamente para la salida
de la puerta lógica.
Supongamos
que trabajamos a un nivel bajo de VOL = 0'4 V con VIL máx = 0'8 V. En estas
condiciones tendremos un margen de ruido para nivel bajo de:
VML =
0'8 - 0'4 = 0'4 V
FAN OUT
Es el
máximo número de puertas que podemos excitar sin salirnos de los márgenes
garantizados por el fabricante. Nos asegura que en la entrada de las puertas
excitadas:
VOH es
mayor que VOH mín
VOL es
menor que VOL mín
Para el
caso en que el FAN OUT sea diferente a nivel bajo y a nivel alto, escogeremos
el FAN OUT más bajo para nuestros diseños.
Si además
nos encontramos con que el fabricante no nos proporciona el FAN OUT podemos
calcularlo como:
FAN OUT
= IOL máx / IIL máx
Donde
IOL e IIL son las corrientes de salida y entrada mínimas de puerta.
POTENCIA
DISIPADA
Es la
media de potencia disipada a nivel alto y bajo. Se traduce en la potencia media
que la puerta va a consumir.
TIEMPOS
DE PROPAGACION
Definimos
como tiempo de propagación el tiempo transcurrido desde que la señal de entrada
pasa por un determinado valor hasta que la salida reacciona a dicho valor.
vamos a
tener dos tiempos de propagación:
Tphl =
tiempo de paso de nivel alto a bajo.
Tplh =
tiempo de paso de nivel bajo a alto.
Como
norma se suele emplear el tiempo medio de propagación, que se calcula como:
Tpd =
(Tphl + Tplh)/2
FRECUENCIA
MAXIMA DE FUNCIONAMIENTO
Se
define como:
Fmáx =
1 / (4 * Tpd)
0 comentarios:
Publicar un comentario