Circuitos Digitales I Laboratorio 2: Algebra de Boole Universidad de los Llanos Ingeniería Electrónica Objetivo de la práctica: Comprobar en el laboratorio el diseño optimizado de un circuito utilizando el álgebra de Boole; reportando las ventajas que se obtienen con la simplificación de las funciones booleanas. Introducción Las álgebras booleanas, estudiadas por primera vez en detalle por George Boole. Son usadas ampliamente en el diseño de circuitos de distribución y computadoras. En el nivel de lógica digital de una computadora, lo que comúnmente se llama hardware, y que está formado por los componentes electrónicos de la máquina, se trabaja con diferencias de tensión, las cuales generan funciones que son calculadas por los circuitos que forman el nivel. Éstas funciones, en la etapa de diseña del hardware, son interpretadas como funciones de boole. Se intentara dar una definición de lo que es un álgebra de boole; se tratan las funciones booleanas, haciendo una correlación con las fórmulas proposicionales. Asimismo, se plantean dos formas canónicas de las funciones booleanas, que son útiles para varios propósitos. Álgebra Booleana El álgebra booleana es un sistema matemático deductivo centrado en los valores cero y uno (falso y verdadero). Un operador binario " º " definido en éste juego de valores acepta un par de entradas y produce un solo valor booleano, por ejemplo, el operador booleano AND acepta dos entradas booleanas y produce una sola salida booleana El símbolo "·" representa la operación lógica AND., por lo tanto A·B representa la operación lógica AND entre las variables A y B, a esto también le llamamos el producto entre A y B. El símbolo "+" representa la operación lógica OR, decimos que A+B es la operación lógica OR entre A y B, también llamada la suma de A y B. El complemento lógico, negación ó NOT es un operador unitario, se utilizara el símbolo " ' " para denotar la negación lógica, por ejemplo, A' denota la operación lógica NOT de A. Leyes fundamentales 1. 2. 3. 4. 5. 6. El resultado de aplicar cualquiera de las tres operaciones definidas a variables del sistema booleano resulta en otra variable del sistema, y este resultado es único. A + A'B = A + B (Ley de Absorción) 7. A · (A’+ B)= A·B (Ley de Absorción) A' · (A + B') = A'B' (Ley de Absorción) 8. A’· (A + B)= A’·B (Ley de Absorción) AB + AB' = A (Ley de Absorción) 9. (A+ B) · (A +B’)= A (Ley de Absorción) (A' + B') · (A' + B) = A' (Ley de Absorción) 10. A·B= (X’+Y’)’ (ley generalizada de DeMorgan) (A’)’= A (Ley de involución) 11. A+B=(X’·Y’)’ (ley generalizada de DeMorgan) Principio de dualidad El concepto de dualidad permite formalizar este hecho: a toda relación o ley lógica le corresponderá su dual, formada mediante el intercambio de los operadores unión con los de intersección, y de los 1 con los 0. Universidad de los Llanos Circuitos Digitales I Laboratorio 2: Algebra de Boole Ingeniería Electrónica Adición Producto LEYES 1 A + A' = 1 A • A' = 0 Ley Complemento 2 A+0=A A•1=A Ley Identidad 3 A+1=1 A•0=0 Maximilidad de 1 y 0 4 A+A=A A•A=A Ley de Idempotencia 5 A+B=B+A A•B=B•A Ley conmutativa 6 A + (B + C) = (A + B) + C A • (B • C) = (A • B) • C Ley Asociativa 7 A +(B • C) = (A + B) • (A + C) A • (B + C) = A • B + A • C Ley Distributiva 8 A+A•B=A A • (A + B) = A Ley de Absorción 9 (A + B)' = A' • B' (A • B)' = A' + B' Ley de DeMorgan Álgebra Booleana y circuitos electrónicos La relación que existe entre la lógica booleana y los sistemas de cómputo es fuerte, de hecho se da una relación uno a uno entre las funciones booleanas y los circuitos electrónicos de compuertas digitales. Para cada función booleana es posible diseñar un circuito electrónico y viceversa, como las funciones booleanas solo requieren de los operadores AND, OR y NOT podemos construir nuestros circuitos utilizando exclusivamente éstos operadores utilizando las compuertas lógicas homónimas Circuitos Combinacionales Un circuito combinacional es un sistema que contiene operaciones booleanas básicas (AND, OR, NOT), algunas entradas y un juego de salidas, como cada salida corresponde a una función lógica individual, un circuito combinacional a menudo implementa varias funciones booleanas diferentes, es muy importante recordar éste echo, cada salida representa una función booleana diferente. Una función booleana es una aplicación de A x A x A x....A en A, siendo A un conjunto cuyos elementos son 0 y 1 y tiene estructura de álgebra de Boole. Supongamos que cuatro amigos deciden ir al cine si lo quiere la mayoría. Cada uno puede votar si o no. Representemos el voto de cada uno por Xi. La función devolverá sí (1) cuando el numero de votos afirmativos sea 3 y en caso contrario devolverá 0. Si X1 vota 1, X2 vota 0, X3 vota 0 y X4 vota 1 la función booleana devolverá 0. El número posible de casos es 2n. Siguiendo con el ejemplo anterior. Asignamos las letras A, B, C y D a los amigos. Los posibles casos son: Universidad de los Llanos Circuitos Digitales I Laboratorio 2: Algebra de Boole Ingeniería Electrónica A 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 VOTOS B C 1 1 1 1 1 0 1 0 0 1 0 1 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1 0 0 0 0 D 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 RESULTADO Y 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 Las funciones booleanas se pueden representar como la suma de productos mínimos (minterms) iguales a 1. En nuestro ejemplo la función booleana será: f(A,B,C,D) = ABCD + ABCD' + ABC'D + AB'CD + A'BCD Simplificando utilizando Algebra de Boole: f(A,B,C,D) = ABCD + ABCD' + ABC'D + AB'CD + A'BCD = ABC(D+D’) + ABC'D + AB'CD + A'BCD = ABC(1) + ABC'D + AB'CD + A'BCD = ABC + ABC'D + AB'CD + A'BCD = ABC + ABC’D + CD(AB’+ A’B) = ABC + ABC’D + CD(A B) = AB(C+C’D) + CD(A B) = AB((C+C’)(C+D)) + CD(A B) = AB((1)(C+D)) + CD(A B) = AB(C+D) + CD(A B) Factorización Ley Complemento Ley Identidad Factorizacion Función OR-Exclusiva Factorizazcion Ley Distributiva Ley Complemento Ley Identidad Por lo tanto La función simplificada f(A,B,C,D) = AB(C+D) + CD(A B) va ha requerir de menos compuertas (CI’s) que la función original. A continuación se muestra el circuito resultante de la simplificación con el algebra de Boole para el ejemplo anterior: A B C D 0V 0V 0V 0V F Universidad de los Llanos Circuitos Digitales I Laboratorio 2: Algebra de Boole Ingeniería Electrónica Realizando la simulación en CircuitMaker se puede verificar la tabla de verdad derivada del ejemplo propuesto anteriormente. MATERIALES C.I’s. 74LS08 “AND”, 74LS32 “OR”, 74LS04 “NOT”. Dipsiwtch. Resistencias. Fuente. Multimetro. Generador de señales (función PULSE) Protoboard y cable. PROCEDIMIENTO 1. Simplificar la siguiente función usando algebra de Boole indicando paso a paso la ley utilizada para la simplificación y realizar el montaje del circuito. F(A,B,C,D)= [AB(C+(BD)’) + (AB)’] CD 2. De los siguientes circuitos indicar cuales son iguales y realizar el montaje para los que son iguales : A B C D 0V 0V 0V 0V (CD+B')A + A'B'C A1 B1 C1 D2 0V 0V 0V 0V CD'B'+ AB' Universidad de los Llanos Circuitos Digitales I Laboratorio 2: Algebra de Boole Ingeniería Electrónica A2 B2 C2 D4 0V 0V 0V 0V AB'+ ACD'+ AB'C A3 B3 C3 D6 0V 0V 0V 0V AB'+ ACD' 3. Para los circuitos anteriores demuestre utilizando algebra de Boole por que son o no son iguales enunciando las leyes utilizadas en la simplificación. 4. ¿Encontró alguna diferencia en la señal de salida de los 4 circuitos anteriores? 5. Si implementara alguno de los cuatro circuitos anteriores, ¿cuál utilizaría? y ¿por qué? 6. ¿Qué ventajas se obtiene al utilizar el álgebra de Boole?