La herramienta fundamental para el anlisis y diseo de circuitos digitales es el lgebra de Boole o Algebra Booleana. Esta lgebra es un conjunto de reglas matemticas (similares en algunos aspectos al lgebra convencional), pero que tienen la virtud de corresponder al comportamiento de circuitos basados en dispositivos de conmutacin (interruptores, relevadores, transistores, etc). En este captulo se presentan los postulados que definen el lgebra booleana, se presentan en forma de teoremas los resultados ms importantes, se presentan tambin ejemplos clsicos de lgebras boolenas (lgebra de switches) y herramientas bsicas como tablas de verdad.
lgebra Booleana El lgebra Booleana recibe su nombre del matemtico ingls George Boole (1815 1864), cuyo influyente libro The Laws of Thought (las leyes del pensamiento) mostr por primera vez como reducir el razonamiento (lgico) humano a una forma simblica parecida al lgebra numrica. Esta formulacin es conocida como lgebra Lgica, lgebra Booleana o lgebra de Boole, y tiene gran utilidad para simplificar problemas de lgica compleja.
El lgebra de boole es un sistema de operaciones lgicas (no aritmticas) entre variables binarias; las variables binarias solo pueden tomar valores de 0 y 1 (sistema numrico binario).
Para asociar valores binarios con valores analgicos de voltaje, se sugiere: Rango de Tensin 5,0
NIVEL ALTO (H)
2,0 comportamiento sin especificar 0,8
NIVEL BAJO (L) 0
2/14 Postulados Bsicos del lgebra Booleana
POSTULADO 1. Definicin: El lgebra booleana es un sistema algebraico cerrado formado por dos elementos {0, 1} y por dos operadores binarios OR (+: suma lgica) y AND (: producto lgico).
Suma Lgica: existe cuando se coloca el smbolo + entre dos variables lgicas: (x+y se lee x OR y)
x y x+y 0 0 0 0 1 1 1 0 1 1 1 1
Producto Lgico: existe cuando se coloca el smbolo entre dos variables lgicas: (xy se lee x AND y)
x y xy 0 0 0 0 1 0 1 0 0 1 1 1
Nota: Generalmente el smbolo del producto se omite por cuanto las variables booleanas se representan por una nica letra.
POSTULADO 2. Existencia de los elementos 1 y 0:
(a) a+0=a (b) a1=a
donde 0 es el elemento neutro para la operacin OR y 1 es el elemento neutro para la operacin AND.
POSTULADO 3. Conmutatividad de las operaciones y +:
(a) a+b=b+a (b) ab=ba
3/14 POSTULADO 4. Asociatividad de las operaciones y +:
(a) a+(b+c)=(a+b)+c (b) a(bc)=(ab)c
POSTULADO 5. Distributividad de + sobre y de sobre +:
(a) a+(bc)=(a+b) (a+c) (b) a(b+c)=(ab) +(ac)
POSTULADO 6. Existencia del complemento:
Existe un nico elemento llamado (complemento de a) tal que: (a) 1 a a = + (b) 0 a a = Complemento lgico: se lee complemento de x
x x 0 1 1 0
Teoremas Bsicos del lgebra Booleana
TEOREMA 1. Idempotencia:
(a) a + a = a (b) a.a = a
TEOREMA 2. Identidad o Nulidad:
(a) a + 1 = 1 (b) a.0 = 0
TEOREMA 3. Absorcin:
(a) a.b + b = b (b) (a+b).b = b
4/14 TEOREMA 4. Involucin: (a) a a = ) ( TEOREMA 5. Ley de De Morgan:
1. EL complemento del producto booleano de a y b es igual a la suma booleana del complemento de a y el complemento de b. b a b a + = . 2. El complemento de la suma booleana de a y b es igual al producto del complemento de a y el complemento de b.
b a b a . = +
TEOREMA 6. Principio de Dualidad: Si una expresin booleana es verdadera, su expresin dual tambin lo es.
Expresiones duales. Dos expresiones se dicen duales una de la otra, si una se puede obtener de la otra cambiando las operaciones ( + ) por (.) y viceversa y cambiando los Os por 1 s y viceversa.
Ejemplo. La expresin A + B = 1 es dual de la expresin A .B = O,
CIRCUITOS DE CONMUTACIN La operacin suma de switches es la conexin en paralelo y la multiplicacin de switches es la conexin en serie, como se muestra en la siguiente figura. Los valores que pueden tomar los switches son slo dos: {ON, OFF} o bien, {1,0}.
5/14 2.- Existencia de neutros. El neutro de la suma, es un circuito abierto (un switch que siempre est abierto), mientras que el neutro del producto es un corto circuito (un switch que siempre est cerrado) 3.- Conmutatividad. Evidentemente las conexiones en serie y en paralelo funcionan de la misma manera independientemente del orden de colocacin de los switches que interconectan. 4.- Asociatividad. Las conexiones en serie y en paralelo son asociativas, es decir, al conectar tres switches en paralelo, no importa cual par se conecte primero. En forma similar pasa con la conexin de tres switches en serie. 5.- Distributividad. La conexin serie es distributiva sobre la conexin en paralelo y la conexin paralelo es distributiva sobre la conexin en serie, en el sentido que se ilustra en la figura siguiente
Funciones Lgicas o Booleanas
Una funcin booleana esta descrita por una expresin algebraica que consta de variables binarias y los operadores booleanos AND, OR y NOT, una funcin booleana expresa la relacin lgica entre variables binarias.
La precedencia de operadores para evaluar las expresiones booleanas es a saber, (1) parntesis, (2) NOT, (3) AND, y (4) OR; dicho de otro modo , la expresin encerrada en parntesis debe evaluarse antes que todas las dems operaciones.
6/14 Ejercicios.- Simplificar las siguientes funciones booleanas al mnimo numero de literales:
a) d b a d b a y . + = b) ) )( ( b a b a z + + = c) bcd a acd x + = d) ( ) c b a z + = e) ( )( ) d b c a z + + = f) yz z x xy w + + = g) ) )( ( ef d bc a x + + =
Tipo Parcial.-
( ) ( ) ( )( ) ) ( ) ( ) ( d c b abd c a b a d c b H yz z b a cd a y x x G b a ac ab y xz z x y x y z yz x F + + + + + + + + = + + + + + + = + + + + + + =
Complemento de una funcin
El complemento de una funcin f es f y se obtiene intercambiando unos por ceros y ceros por unos en el valor de f. Este podra deducirse algebraicamente empleando el Teorema de DeMorgan. La forma generalizada de este teorema dice que el complemento de una funcin se obtiene intercambiando operadores AND y OR y complementando cada literal.
Ejemplo: determine el complemento de las funciones:
F1= xyz+xyz F2= x(yz+yz)
Compuertas Lgicas Digitales Para implementar las expresiones booleanas, se debe construir un circuito lgico en el que se usan las variables de la expresin como entradas al circuito que contiene una o ms compuertas lgicas. Las compuertas son los bloques de construccin bsicos de los sistemas digitales. Son dispositivos electrnicos de conmutacin y son los
7/14 elementos bsicos de los sistemas combinacionales, las cuales operan con valores binarios. En la tabla se muestra la representacin de las compuertas lgicas bsicas y su expresin en lgebra booleana.
Compuerta Smbolo y Expresin Booleana Tabla de la Verdad Smbolos (ANSI/IEEE)
INVERSOR
OR
AND
OR exclusiva XOR
NOR exclusiva XNOR
NOR
NAND
8/14 Implemente las siguientes funciones booleanas:
y x zy x y z x w z y x f + + = + =
Propiedades de la compuerta OR exclusivo
x y y x z y x z y x x x x x x x x x = = = = = = ) ( ) ( 1 0 1 0
Representacin de funciones lgicas Para un valor dado de las variables binarias la funcin puede ser igual a 1 o bien igual a 0, esta se evala determinando el valor binario de la expresin para todos los posibles valores de las variables. Considerar, por ejemplo, la funcin booleana: c b a c a b a Y . . . . + + = Esta funcin es igual a 1 si a=0 y b=0, si a=0 y c=1, si a=1, b=1 y c=0; y es igual a 0 en todos los dems casos.
Tabla de la Verdad de Funciones Lgicas
Una tabla de la verdad es un medio para describir la manera en que la salida de un circuito cambia y depende de los niveles lgicos de las entradas. La tabla de verdad enumera todas las combinaciones posibles de los estados lgicos en que se encuentren las entradas del circuito con su estado lgico de salida correspondiente. Por ejemplo, para la funcin Y el circuito y la tabla de la verdad se observan en las figuras.
9/14
Entradas Salida a b c Y 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 0
Forma Cannica de Funciones Lgicas La forma cannica es aquella en la que todas las variables de la funcin aparecen en cada trmino, son importantes puesto que permiten obtener la expresin en lgebra de boole de una funcin directamente de su tabla de verdad. Estos trminos los cuales poseen todas las variables de una funcin se denominan Trminos Estndar. Existen entonces Trminos Suma Estndar para definir los 0s lgicos y Trminos Producto Estndar para definir los 1s lgicos. Por ejemplo para la tabla de la verdad de la figura anterior se pueden escribir sus expresiones en forma cannica de la siguiente manera:
c b a c b a c b a c b a Y . . . . . . . . + + + = Forma Cannica en Trminos Producto ) )( )( )( ( c b a c b a c b a c b a Y + + + + + + + = Forma Cannica en Trminos Suma
10/14 Suma de Minitrminos Es la expresin formada por la suma lgica de dos o ms trminos productos estndar. Cada termino producto estndar se denomina minitrmino. En general, la expresin lgica booleana se puede obtener a partir de la tabla de verdad usando el operador lgico OR para combinar todos los trminos para los que la funcin toma el valor de 1. Cada minitrmino se representa por el nmero decimal equivalente al binario de las variables para las cuales el trmino toma el valor de 1. Por ejemplo para la tabla de la verdad de la figura anterior se puede escribir su expresin en suma de minitrminos de la siguiente manera:
Y = m0+ m1+ m3+ m6 Y = 0,1,3,6 Producto de Maxitrminos Es la expresin formada por los productos lgicos de dos o mas trminos suma estndar. Cada termino producto estndar se denomina maxitrmino. En general, la expresin lgica booleana se puede obtener a partir de la tabla de verdad usando el operador lgico AND para combinar todos los trminos para los que la funcin toma el valor de 0. Cada maxitrmino se representa por el nmero decimal equivalente al binario de las variables para las cuales el trmino toma el valor de 0. Por ejemplo para la tabla de la verdad de la figura anterior se puede escribir su expresin en productos de maxitrminos de la siguiente manera: Y = M2.M4.M5.M7 Y = 2,4,5,7
Forma Estndar de Funciones Lgicas Las dos formas cannicas del lgebra booleana son formas bsicas que se obtienen al leer una funcin de su tabla de la verdad, pero casi nunca son las que tienen en nmero mnimo de literales, porque cada minitrmino o maxitrmino debe contener, por definicin, todas las variables, sean complementadas o son complementar. Otra forma de expresar funciones booleanas es en forma estndar. En esta configuracin, los trminos que forman la funcin podran contener una, dos o cualquier nmero de literales. Hay dos tipos de formas estndar: la suma de productos y el producto de sumas.
11/14 Suma de Productos (SP) y Circuitos AND-OR Es una expresin booleana que contiene trminos AND, llamados trminos de productos, con una o ms literales cada uno. La suma denota el OR de esos trminos. Un ejemplo de funcin expresada como suma de productos es: z y x xy y f + + = La expresin tiene tres trminos de producto con una, dos y tres literales. Su suma es una operacin OR. El diagrama lgico de una expresin de suma de productos consiste en un grupo de compuertas AND seguidas de una sola compuerta OR. Cada trmino de producto requiere una compuerta AND, salvo los trminos que slo tienen una literal. La suma lgica se forma con una compuerta OR cuyas entradas son las salidas de las compuertas AND y las literales solas. Se supone que se cuanta directamente con las variables de entrada en forma de complemento, as que no se incluyen inversores en el diagrama.
Producto de Sumas (PS) y Circuitos OR-AND Es una expresin booleana que contiene trminos OR, llamados trminos de suma. Cada trmino puede tener cualquier cantidad de literales. El producto denota el AND de esos trminos. Un ejemplo de funcin expresada como producto de sumas es: ) )( ( z y x z y x f + + + = Esta expresin tiene tres trminos de suma con una, dos y tres literales. El producto es una operacin AND. El diagrama lgico de la expresin de producto de suma consiste en un grupo de compuertas OR para los trminos suma (excepto la literal sola) seguidas de una compuerta AND.
Ejercicios: Exprese la funcin f(xyz)=xy + xz en forma cannica de trminos suma y en producto de maxitrminos. Exprese la funcin f=a+bc como suma de minitrminos y producto de maxitrminos. Exprese el complemento de las siguientes funciones como una suma de minitrminos. f= 0,2,6,11,13,14 g= 0,3,6,7
12/14 Universalidad de Las Compuertas NAND y NOR Cada expresin booleana puede representarse por su circuito lgico utilizando las tres compuertas bsicas NOT, AND y OR. Estas se pueden representar mediante las compuertas NAND y NOR, es por ello que se dice que stas son compuertas universales. En la tabla se muestra el equivalente NAND y NOR de las compuertas bsicas.
Equivalentes Compuerta NAND NOR
INVERSOR
OR
AND
Ejercicios.- Implemente f=ab+cd y g=(a+b)(c+d) con compuertas universales Sea la funcin h= 2,3,6 implemente el circuitos mnimo con compuertas universales
Circuitos con Compuertas NAND y Compuertas NOR Las compuertas NAND y NOR se usan ampliamente debido a la propiedad de universalidad. Las equivalencias de estas compuertas con las compuertas bsicas
13/14 permiten convertir un circuito de compuertas AND, OR y NOT en un circuito solamente de compuertas universales. El procedimiento es el siguiente: Para compuertas NAND: 1. la salida del circuito proviene de una OR 2. las entradas a todas las compuertas OR provienen de una entrada de sistema o de la salida de una AND 3. las entradas a todas las compuertas AND provienen de una entrada de sistema o de la salida de un OR Toadas las compuertas son sustituidas por compuertas NAND y cualquier entrada que llegue directamente a una OR es complementada NOTA: cuando se viola la 2da o 3ra regla se debe agregar una compuerta NOT adicional. Ejemplo: f = wx(y+z) + x`y
La aproximacin dual funciona para implementar circuitos con compuertas NOR. Cuando se tiene un circuito que consta de compuertas AND y OR tal que: 1. la salida del circuito proviene de una AND 2. las entradas a todas las compuertas OR provienen de una entrada de sistema o de la salida de una AND 3. las entradas a todas las compuertas AND provienen de una entrada de sistema o de la salida de un OR Entonces todas las compuertas son sustituidas por compuertas NOR y cualquier entrada que llegue directamente a una AND, dicha entrada debe ser complementada NOTA: cuando se viola la 2da o 3ra regla se debe agregar una compuerta NOT adicional.
Diagramas de Tiempo Una funcin lgica se puede representar de mltiples formas utilizando las diferentes compuertas lgicas. Otra forma de representar una funcin es el diagrama de tiempos. Consiste en realizar una grafica en el tiempo de las variables de entrada y salida para todas las posibles combinaciones de los valores de las entradas.
14/14 Circuitos de Paso En muchas oportunidades se necesita permitir o inhibir el paso de una seal lgica desde una entrada hacia una salida, para ello se pueden utilizar las compuertas lgicas bsicas AND y OR como se muestra un la figura, en la cual se presenta el control del paso de una seal de pulsos hacia la salida por medio de una seal (ventana) en la otra entrada. Las compuertas inhibidoras pueden ser vistas cono un interruptor lgico.