Source: http://docplayer.es/1825345-Circuitos-combinacionales-algebra-de-boole.html
Timestamp: 2018-05-22 22:25:24+00:00

Document:
Circuitos combinacionales. Álgebra de Boole - PDF
Download "Circuitos combinacionales. Álgebra de Boole"
Marcos Iglesias Poblete
1 Circuitos combinacionales. Álgebra de Boole Salvador Marcos González
2 Sistemas de numeración Introducción Un Sistema de numeración es una forma de representar cualquier cantidad numérica, de forma que una misma cantidad se puede escribir de muchas formas distintas, según sea el sistema de numeración utilizado. Así, el sistema utilizado normalmente por el hombre es el sistema decimal o de "base 10", mientras que el sistema usado internamente por las máquinas electrónicas actuales es el binario o de "base 2". Casi todos los sistemas de numeración utilizados en la actualidad son de tipo "polinomial". Un sistema de numeración polinomial cumple las siguientes características generales: - todo número es una expresión formada por un conjunto de símbolos, llamados "dígitos" o "cifras", cada uno con un valor propio, fijo y diferente del de los demás. - la cantidad de dígitos distintos que se pueden usar en un determinado sistema de numeración constituye su "base". - el valor de un número depende de dos factores: del valor de los dígitos que lo componen y de la posición de cada uno de ellos dentro del conjunto. - cada posición del número tiene un valor intrínseco que aumenta de derecha a izquierda según potencias sucesivas de la base del sistema de numeración. Así, el dígito del extremo derecho es el de menor peso, y el dígito del extremo izquierdo es el de mayor significación. - se verifica el llamado "Teorema fundamental de la numeración": El valor numérico en base 10 de un número expresado en cualquier otra base "b" se obtiene como suma de funciones potenciales de dicha base, según la siguiente expresión: N (b = a n a n-1...a 2 a 1 a 0 / a -1 a -2 a -3...= a n * b n + a n-1 * b n a 2 * b 2 + a 1 * b 1 + a 0 * b 0 + a -1 * b -1 + a -2 * b -2 + a -3 * b En esta expresión, los coeficientes "a i " son los digitos del número, y "b" es la base del sistema de numeración. Las potencias "b i " son los valores intrínsecos de cada posición del número. El valor de la primera posición entera es siempre 1 (b 0 ). Circuitos combinacionales. Álgebra de Boole 2
3 El dígito "cero" (0) es el dígito de valor propio nulo. El valor de un número no se altera si se añaden ceros ala izquierda de la parte entera, o a la derecha de la parte decimal. Los sistemas de numeración polinomiales más usados en la práctica son el Decimal (base 10), el Binario (Base 2), el Octal (base 8) y el Hexadecimal (Base 16). Un ejemplo de sistema no polinomial es el sistema de numeración romano. El sistema binario Es el sistema de base 2, y utiliza dos dígitos distintos, el 0 y el 1, de nominados normalmente con el nombre de "bit". Es el sistema utilizado normalmente en las actuales máquinas electrónicas digitales. La razón de ello es que es muy facil diseñar sistemas físicos o electrónicos capaces de adoptar dos valores o posiciones distintas (0 y 1). Un número binario estará formado por un conjunto de bits. El valor de cada posición del número aumenta de derecha a izquierda según potencias de 2. Las primeras potencias de dos son las siguientes: Posición Valor Posicional Con un número binario de "n" bits se pueden representar 2 n números distintos, desde el 0 hasta el 2 n-1. La tabla de los primeros 16 números binarios se muestra en la siguiente página. Circuitos combinacionales. Álgebra de Boole 3
4 decimal binario Para sumar dos números binarios, se comienza por la posición del extremo derecho, aplicando las 5 reglas de la suma de dos bits: = = = = 0 (Acarreo +1) = 1 (Acarreo +1) Resolución de ejemplos Ejemplo 1: Circuitos combinacionales. Álgebra de Boole 4
5 El sistema octal Es el sistema de base 8, y utiliza ocho dígitos distintos: del 0 al 7. Se utiliza este sistema con frecuencia de bido a su facilidad de conversión con el sistema binario, lo cual hace que números binarios muy grandes se manejen más comodamente en octal. Esta facilidad de conversión se debe en última instancia a que la base 8 es potencia de 2 (8=2 3 ). La conversión de binario a octal se realiza de la forma siguiente: Se agrupan los bits del número binario, tanto enteros como decimales, en grupos de 3 a partir del punto decimal. El valor en base 10 de cada uno de esos grupos da lugar a un dígito octal. Por ejemplo: ' (2 = 14350'274 ( La conversión de octal a binario es justamente el camino inverso (sustituir cada cifra octal por el grupo de 3 bits equivalente). Para sumar dos números en octal, se comienza por la columna del extremo derecho. Cuando la suma en alguna columna sobrepase el valor de 7, se anota como resultado de dicha columna el valor de aquella suma menos 8 (la base del sistema), y se acarrea una unidad a la siguiente columna de mayor orden. Resolución de ejemplos Ejemplo 1: ' 4 (8 473'5 ( ' 2 ( '25 ( ' 6 (8 705'75 (10 Circuitos combinacionales. Álgebra de Boole 5
6 El sistema hexadecimal Es el sistema de base 16, y utiliza 16 dígitos distintos: del 0 al 9 más las letras mayúsculas A,B,C,D,E y F que tienen como valores propios 10, 11, 12, 13, 14 y 15 respectivamente. Es usado más frecuentemente que el Octal, y por la misma razón que éste, es decir, por su facilidad de conversión con el binario. La razón matemática de esto es que 16 = 2 4. La conversión de binario a hexadecimal se realiza ahora agrupando los bits en grupos de 4 a partir del punto decimal. Cada uno de esos grupos da lugar a un dígito hexadecimal. Por ejemplo: ' (2 = 191CA'OD8 ( C A O D 8 La conversión de hexadecimal a binario consiste en sustituir cada dígito hexadecimal por el grupo de 4 bits equivalentes, según indica la tabla de los 16 primeros números: decimal binario octal hex A B C D E F Circuitos combinacionales. Álgebra de Boole 6
7 Cambios de base Para pasar un número expresado en cualquier base a base 10, se aplica el Teorema fundamental de la numeración ya vista (suma de funciones potenciales de la base). Para pasar un número entero de base 10 a cualquier otra base se realizan sucesivas divisiones enteras de dicho número por la base a la que se quiere cambiar, obteniéndose el resultado a partir del último cociente y todos los restos (las divisiones han de ser enteras, es decir, con un cociente y un resto). Resolución de ejemplos Ejemplo 1: Pasar 533 (10 a binario y a hexadecimal. 533 (10 = (2 = 215 (16 Figura 1. Ejemplo de paso de decimal a binario y hexadecimal Si el número de partida en base 10 tiene parte decimal, ésta se cambia de base mediante multiplicaciones sucesivas por la base a la que se desea cambiar, obteniéndose el resultado a partir de la partes enteras de dichos productos. Circuitos combinacionales. Álgebra de Boole 7
8 Ejemplo 2: Pasar 533'56 (10 a binario y hexadecimal 533'566 (10 = ' (2 = 215'8F... (16 0'56 A 2 = 1'12 0'56 A 16 = 8'96 0'12 A 2 = 0'24 0'96 A 16 = 15'36 0'24 A 2 = 0' '48 A 2 = 0'96 0'96 A 2 = 1'92 1'92 A 2 = 1'84... Los cambios de base entre octal y hexadecimal convienen realizarlos por intermedio del binario. Los cambios de base entre dos bases extrañas cualesquiera hay que realizarlos a través de base 10. Circuitos combinacionales. Álgebra de Boole 8
9 Álgebra de Boole Definición y postulados Se define un Algebra de Boole (A,+,*) como todo conjunto de elementos capaces de adoptar dos valores, designados por 1 y 0, y entre los cuales están definidas dos operaciones: suma lógica (+) y producto lógico (*). Cada uno de dichos elementos recibe de variable lógica o binaria. Todo Algebra de Boole cumple los siguientes postulados: 1.- Propiedad conmutativa: Dadas dos variables lógicas a,b 0 A (A= Algebra de Boole), se cumple... a+b = b+a y a*b = b*a 2.- Propiedad distributiva: Dadas tres variables lógicas a,b,c 0 A se cumple... a*(b+c) = a*b + a*c y a+(b*c) = (a+b)*(a+c) 3.- Elemento neutro: Existe un elemento neutro para cada una de las dos operaciones, designados por 0 para (+), 1 para (*). Así, dada la variable a A, dichos elementos cumplen las siguientes condiciones... a+0 = a y a*1 = a 4.- Elemento simétrico (complementario o inverso): Existe, para cada variable lógica a A, su complementaria o inversa (), definida para ambas operaciones (+) y (*), y tal que siempre se cumple... a+ a= 1 y a* a= 0 Circuitos combinacionales. Álgebra de Boole 9
10 Resolución de ejemplos 1º) Sea un Algebra de Boole A definida como conjunto de interruptores que pueden estar en dos posiciones: abierto (0), o cerrado (1). Sean las operaciones de (+) y (*) dos diferentes formas de asociar los interruptores: en paralelo (+) y en serie (*). Los cuatro postulados son aquí los siguientes: a) Propiedad Conmutativa: a+b = b+a a*b = b*a Figura 3.1. Propiedad conmutativa b) Propiedad Distributiva: a*(b+c) = a*b + a*c a+(b*c) = (a+b) * (a+c) Circuitos combinacionales. Álgebra de Boole 10
11 c) Elementos Neutros: 0 = Conmutador siempre abierto 1 = Conmutador siempre cerrado a+0 = a a*1 = a Figura 3.3. Elementos neutros d) Elementos Simétricos: Se define el elemento simétrico a de un interruptor a como otro interruptor tal que, cuando a está abierto, a está cerrado, y viceversa. a+ a= 1 y a* a= 0 Figura 3.4. Elementos simétricos Circuitos combinacionales. Álgebra de Boole 11
12 2º) Sea A el conjunto de las proposiciones (frases aseverativas) que pueden tomar dos valores: verdadero y falso. Sean las dos operaciones (+), (*) dos tipos de conjunciones que unen dos proposiciones: "o" (+, V, OR) e "y" (*,, AND), definidas de la forma siguiente: a OR b es verdadero si alguna de las proposiciones a, b es verdadera, y falsa si las dos son falsas. a AND b es verdadero si las dos proposiciones a, b son verdaderas, y falsa si alguna es falsa. Este conjunto posee también estructura de Algrebra de Boole. Teoremas del Algebra de Boole Son 7 los Teoremas fundamentales de un Algebra de Boole, y se demuestran todos a partir de los cuatro postulados anteriores. 1.- Ley de Dualidad: Cualquier expresión o identidad en un Algebra de Boole tiene su expresión dual que se obtiene intercambiando (+) por (*) y 0 por 1. Por ejemplo: a+0 = a a*1 = a a+ a= 1 a* a= 0 a*(b+c) = (a*b) + (a*c) a+(b*c) = (a+b) * (a+c) 2.- Se cumplen, para toda variable a 0 A, las dos condiciones siguientes: a+1 = 1 a*0 = 0 Para demostrar esto: 1 = a+a = a + (a * 1) = (a+a) * (a+1) = 1 * (a+1) = a+1 0 = a* a= a * (a+ 0) = (a*a) + (a*0) = 0 + (a*0) = a*0 Con estas dos propiedades y las de los Elementos Neutros, podemos establecer las llamadas "Tablas de Verdad" de las operaciones suma lógica y producto lógico: Circuitos combinacionales. Álgebra de Boole 12
13 Suma lógica: la suma lógica es igual que la suma decimal excepto en el último caso. a b a+b Producto lógico: el producto lógico coincide exactamente con el producto decimal. a b a*b Ley de Idempotencia: Se cumple, para toda variable a 0 A, lo siguiente... a+a =a y a*a = a Para demostrarlo: a = a+0 = a + (a*) = (a+a) * (a+) = (a+a)*1 = a+a a = a*1 = a * (a+) = (a*a) + (a*) = (a*a)+0 = a*a 4.- Ley de Absorción: Para todo par de variables a,b 0 A, se cumple... a+(a*b) = a y a*(a+b) = a Demostración: a = 1*a = (1+b) * a = (1*a) + (b*a) = a +(a*b) a = 0+a = (0*b) + a = (0+a) * (b+a) = a *(a+b) 5.- Ley asociativa: Dadas tres varibles lógicas a,b,c 0 A, se cumple... a+(b+c) = (a+b)+c y a*(b*c) = (a*b)*c Circuitos combinacionales. Álgebra de Boole 13
14 Demostración práctica: c b a b+c a+(b+c) a+b (a+b)+c Ley de la doble negación o Ley Involutiva: Para toda variable a 0 A, se cumple... a = a 7.- Leyes de Morgan: Para todo par de variables lógicas a,b 0 A, se cumple... a+b = a*b y a*b =a+b Para demostrar esto: a+b = a*b Si demostramos que siempre se cumple (a+b) + (a*b) = 1 y, (a+b) * (a*b) = 0, es porque (a+b) y (a*b) son siempre opuestos, o sea, porque (a+b) y (a*b) son siempre iguales. (a+b) * (a*b) = [(a+b)+a] * [(a+b)+b] = (1+b) * (1+a) = 1*1 = 1 (a+b) * (a*b) = [a*(a*b)] + [b*(a*b)] = (0*b) + (0*a) = 0+0 = 0 Estas dos leyes son muy importantes, ya que permiten pasar de expresiones en sumas lógicas a expresiones equivalentes en productos lógicos. Circuitos combinacionales. Álgebra de Boole 14
15 Puertas lógicas Anteriormente se vio el ejemplo del álgebra de los conmutadores, cuya realización práctica se llevó a cabo mediante relés para construir los primeros ordenadores de la historia. El avance de la tecnología electrónica ha llevado a la realización física de otros elementos, las "puertas lógicas", que configuran también un álgebra de Boole. En este caso las variables binarias son señales eléctricas de tensión alta (H,1) o baja (L,0). Las puertas básicas son las correspondientes a las tres operaciones lógicas básicas: suma, producto y complementación. 1.- Puerta OR: Salida 1 si hay algún 1 en las entradas. a b a+b Puerta AND: Salida 1 si todas las entradas son 1. a b a*b Puerta NOT: a a Mediante combinaciones de estas se obtienen otras dos de muy amplio uso: Circuitos combinacionales. Álgebra de Boole 15
16 4.- Puerta NOR: a b a+b Puerta NAND: a b a*b Las puertas más utilizadas son la NOT, NOR y NAND. A su vez, las puertas NOR y NAND pueden funcionar como puertas inversoras, conectando sus entradas apropiadamente: Circuitos combinacionales. Álgebra de Boole 16
17 Resolución de ejemplos Representar con puertas lógicas la operación compuesta (función): c+(b*a) Figura 3.4. Representación de f=c+(/b*a) Otra forma se obtendría aplicando la ley distributiva con lo que la función quedaría de la siguiente forma: c+(b*a) = (c+b) * (c+a) Figura 3.5. Representación de f=(c+/b)*(c+a) En este caso es preferible la primera forma, ya que necesita menos puertas y por lo tanto el coste del circuito es menor. Simbología: En una puerta lógica, una entrada con un circuito significa entrada invertida (a través de un inversor), e igualmente, una salida con circuito significará normalmente salida a través de un inversor. Circuitos combinacionales. Álgebra de Boole 17
18 Funciones en un álgebra de Boole Una función es una expresión de variables boolianas o binarias unidas por las operaciones lógicas suma, producto y complementación. Se representa por f(...c,b,a), y un ejemplo puede ser el siguiente... f 1 (c,b,a) = a+ cb + cba. Una función se puede considerar como una forma de expresar el funcionamiento de un circuito electrónico a base de puertas lógicas, en el que las variables a,b,c,... son las señales binarias de entrada, y la función f(...c,b,a) es la señal binaria de salida. Cualquier término de la función en que aparezcan todas las variables de que depende la función se llama "término canónico", y aquella función formada exclusivamente por términos canónicos recibe el nombre de "función canónica". En el ejemplo anterior, el sumando "cba" es término canónico. Existe la "función dual" de cualquier función f(..c,b,a), obtenida a partir de ella cambiando productos por sumas y viceversa (ley de dualidad). La función dual del ejemplo anterior será... f 2 (c,b,a) = a*(c+b) * (c+b+a), diferente de f 1 (c,b,a). El término (c+b+a) es también canónico. Un término canónico de la forma cba (producto de variables) se llama MINTERM, y uno de la forma c+b+a (suma de variables) se llama MAXTERM. Una función de tres variables puede tener hasta 2 3 minterms o maxterms diferentes. Los posibles términos minterm para una función f(c,b,a) son... MINTERM MAXTERM nombre binario nombre decimal c b a c + b + a c b a c + b + a c b a c + b + a c b a c + b + a c b a c + b + a c b a c + b + a c b a c + b + a c b a c + b + a Circuitos combinacionales. Álgebra de Boole 18
19 Para dar nombre a cada uno de ellos se utiliza su configuración binaria correspondiente, o bien su equivalente decimal. Dicha configuración binaria se obtiene asignando a las variables complementadas el valor 0, y a las no complementadas el valor 1. La variable "a" representa la cifra binaria de menor orden; después le siguen "b" y "c". Con este convenio se puede nombrar o especificar cualquier función canónica dada por sus tréminos minterm o maxterm: f 3 (c,b,a) = cba + cba + cba = 3 3 (5, 2, 3) f 4 (c,b,a) = (c+b+a) * (c+b+a) * (c+b+a) = ϑ 3 (5, 2, 3) Esta forma de representar funciones es muy util para la posterior simplificación óptima de las mismas, pero sólo es aplicable a funciones canónicas (formada por términos minterm o maxterm). Debemos encontrar la forma de expresar cualquier función no canónicas mediante su equivalente canónico. Existe una "regla práctica" para pasar una función cualquiera a forma de minterms, y es la siguiente: Se multiplica cada término no canónico de la función por la suma de la variable o variables que en él falten en forma (directa + complementada). Como ejemplo: f 5 (c,b,a) = cb + ca = cb (a+a) + ca (b+b) = cba + cba + cba = 3 3 (7, 6, 3, 1) f 6 (c,b,a) = cba + cb + c = cba + cb(a+a) + c(b+b) (a+a) = = cba + cba + cba + cba + cba + cba + cba = = 3 3 (7, 6, 3, 2, 1, 0) Si obtenemos dos términos iguales eliminamos uno, ya que, según la ley de Idempotencia, es x+x = x. Circuitos combinacionales. Álgebra de Boole 19
20 Otra forma de conseguir esto es a partir del "Teorema fundamental" de funciones de un Algebra de Boole, que dice que cualquier función se puede escribir de la forma f(c,b,a) = c * f(1,b,a) + c * f(0,b,a) o bien, f(c,b,a) = b * f(c,1,a) + b * f(c,0,a) f(c,b,a) = a * f(c,b,1) + a * f(c,b,0) Este teorema también se cumple en la forma dual: f(c,b,a) = [c+f(0,b,a)] * [c + f(1,b,a)] La demostración de este teorema, a partir de su primera expresión es, f(c,b,a) = c * f(1,b,a) + c * f(0,b,a) Para c = 0 f(0,b,a) = 0 * f(1,b,a) + 1 * f(0,b,a) = f(0,b,a) Para c = 1 f(1,b,a) = 1 * f(1,b,a) + 0 * f(0,b,a) = f(1,b,a) Como se cumple para c=0 y c=1 se cumple siempre. Operando: f(c,b,a) = cba f(111) + cba f(110) + cba f(101) + cba f(100) + + cba f(011) + cba f(010) + cba f(001) + cba f(000) Esto significa que cualquier función f(c,b,a) se puede representar en forma de suma de minterms multiplicados por los coeficientes binarios resultantes de aplicar la función a la configuración binaria correspondiente a cada minterm. Para expresar cualquier función en forma de maxterms se utiliza la expresión dual: f(c,b,a) =[c+b+a+f(000)] [c+b+a+f(001)] [c+b+a+f(010)] [c+b+a+f(011)] [c+b+a+f(100)] [c+b+a+f(101)] [c+b+a+f(110)] [c+b+a+f(111)] Circuitos combinacionales. Álgebra de Boole 20
21 Resolución de ejemplos Ejemplo 1: f 5 (c,b,a) = cb + ca f 5 (000) = = 0 f 5 (011) = 1 f 5 (110) = 1 f 5 (001) = = 1 f 5 (100) = 0 f 5 (111) = 1 f 5 (010) = = 0 f 5 (101) = 0 f 5 (c,b,a) = cba1 + cba1 + cba0 + cba0 + cba1 + cba0 + cba1 + cba0 = cba + cba + cba + cba = 3 3 (7, 6, 3, 1) f 5 (c,b,a) = [c+b+a+0] [c+b+a+1] [c+b+a+1] [c+b+a+1] = ϑ 3 (7, 6, 3, 1) [c+b+a+0] [c+b+a+1] [c+b+a+0][c+b+a+0] Existe una "regla práctica" para pasar una función canónica dada en forma de minterms a su expresión en forma de maxterms, y es la siguiente: Se observa sobre la función minterm cuales son los términos que faltan, y se obtiene el "complemento a 7" de dichos términos (a 7 si son tres las variables). Estos complementos son los términos maxterm de la función. "Complemento a 7" significa cantidad que falta hasta 7 en un determinado número. En general, siendo "n" el número de variables, se ha de hallar el complemento a 2 n - 1 de los términos minterm que faltan. La transformación inversa (de una función cánonica maxterm a su equivalente minterm) es idéntica a ésta. Ejemplo 2: f 5 (c,b,a) = cb + ca = 3 3 (7, 6, 3, 1) Términos que faltan : 0, 2, 4 y 5 Complemento a 7 : 7, 5, 3 y 2 f 5 (c,b,a) = ϑ 3 (7, 5, 3, 2) =(c+b+a) (c+b+a) (c+b+a) (c+b+a) Circuitos combinacionales. Álgebra de Boole 21
22 Proceso inverso: f 5 (c,b,a) = cb + ca = ϑ 3 (7, 5, 3, 2) Términos que faltan: 0, 1, 4 y 6 Complemento a 7: 7, 6, 3 y 1 f 5 (c,b,a) = 3 3 (7, 6, 3, 1) = cba + cba + cba + cba Ejemplo 3: f 6 (d,c,b,a) = dca + cb + dcba f 6 (d,c,b,a) = dc(b+b)a +(d+d)cb (a+a) + dcba = = dcba + dcba + dcba + dcba + dcba + dcba + dcba = = 3 4 (7, 5, 9, 8, 1, 0, 10) Términos que faltan: 2, 3, 4, 6, 11, 12, 13, 14, 15 Complemento a 15: 13, 12, 11, 9, 4, 3, 2, 1, 0 f 6 (d,c,b,a) = ϑ 4 (13, 12, 11, 9, 4, 3, 2, 1, 0) Ejemplo 4: f 7 (c,b,a) = b+a + cba + (c+b)a f 7 (c,b,a) = ba + cba + (cb)+a = (c+c)ba + cba + cb + a = = (c+c)ba + cba + cb(a+a) + (c+c)(b+b)a = = cba + cba + cba + cba + cba + cba + cba + cba + cba = cba + cba + cba + + cba + cba = = 3 3 (0, 1, 2, 4, 6) Términos que faltan: 3, 5, 7 Complemento a 7: 4, 2, 0 f 7 (c,b,a) = ϑ 3 (0, 2, 4) = (c+b+a) (c+b+a) (c+b+a) Circuitos combinacionales. Álgebra de Boole 22
23 Tablas de verdad Es otra forma de representar una función lógica, y sirve para obtener el desarrollo en forma canónica de la misma. Consiste en escribir todas las posibles combinaciones de las "n" variables (un total de 2 n ) y anotar los valores que toma la función para cada una. Por ejemplo la función f 5 (c,b,a) = cb + ca c b a F Para expresar la función en forma de minterms tomamos las combinaciones para las cuales la función vale 1, obteniendo de ellas los términos canónicos minterm mediante el convenio normal (valor 1 = variable directa, valor 0 = variable invertida). Para expresar la función en forma de términos maxterms, tomamos las combinaciones para las cuales la función vale 0, obteniendo de ellas los términos maxterm mediante el convenio unvertido (valor 0 = variable directa, valor 1 = variable inversa). Resolución de ejemplos Diseñar en forma de minterms y maxterms un circuito en puertas lógicas con tres variables de entrada, tal que, si la combinación binaria de entrada representa un número decimal "par", el circuito lo detecte (da salida 1). Circuitos combinacionales. Álgebra de Boole 23
24 f(c,b,a) = cba + cba + cba + cba = 3 3 (0, 2, 4, 6) f(c,b,a) = (c+b+a) (c+b+a) (c+b+a) (c+b+a) = ϑ 3 (6, 4, 2, 0) c b a F Circuitos combinacionales. Álgebra de Boole 24
25 Figura 3.6. Implementación Estos dos circuitos no son los óptimos para resolver el problema, ya que, efectuando la simplificación de la función f, obtendríamos como resultado... f(c,b,a) = a El cicuito óptimo es: Figura 3.7. Circuito óptimo Circuitos combinacionales. Álgebra de Boole 25
26 Funciones lógicas importantes 1.- Función OR-EXCLUSIVA (.) Es la función que verifica la siguiente tabla de verdad: a b a b Esta función está construida en la práctica en forma de una puerta lógica especial (puerta OR-EXCLUSIVA), cuyo símbolo se muestra en la figura. La función OR-Exclusiva vale 1 cuando hay un número impar de variables de entrada a 1, y vale 0 cuando dicho número es par. Este criterio es aplicable tanto a puertas OR-Exclusiva de dos entradas como a puertas con mayor número de entradas. Su equivalente con puertas AND y OR es el siguiente: La función OR-EX de 2 entradas cumple también las siguientes propiedades: a b = a b = a b = a b Circuitos combinacionales. Álgebra de Boole 26
27 2.- Función NOR-EXCLUSIVA Es la inversa de la OR-Exclusiva, y su tabla de verdad y símbolo son los siguientes: a b aθb Esta función vale 1 cuando hay un número par de "unos" en las entradas (considerando el cero par). No suele encontrarse como puerta lógica individual, sino que se obtiene con una OR-Exclusiva más una puerta inversora. La función NOR-EX de 2 entradas cumple a b = a b = a b Realización de funciones en puertas NAND Y NOR Cualquier función booleana puede realizarse usando exclusivamente puertas NAND O NOR. Para transformar la expresión de una función lógica cualquiera a otra equivalente en puertas NAND (ab) o NOR (a+b), se aplican las leyes de Morgan y la doble complementación: a+b+c+... = a.b.c... a.b.c... = a+b+c... Resolución de ejemplos Por ejemplo: Realizar en puertas NAND las funciones Circuitos combinacionales. Álgebra de Boole 27
28 f 1 (d,c,b,a) = cb + ba + dca y f 2 (d,c,b,a) = (c+b)*(b+a)*(d+c+a) f 1 = cb + ba + dca = cb. ba. dca f 2 = (c+b) (b+a) (d+c+a) = cb. ba. dca Figura 3.8. Circuito de puertas NAND Otro ejemplo: Realizar en puertas NOR las funciones f 1 (d,c,b,a) = cb + ba + dca y f 2 (d,c,b,a) = (c+b)*(b+a)*(d+c+a) f 1 = cb + ba + dca = (c+b) + (b+a) + (d+c+a) f 2 = (c+b) (b+a) (d+c+a) = (c+b) + (b+a) + (d+c+a) Circuitos combinacionales. Álgebra de Boole 28
29 Figura 3.9. Circuito de puertas NOR Tercer ejemplo: Realizar en puertas NAND y NOR la función... f3 = (c,b,a) = c(b+a) + cba + c + b Figura 3. Figura Circuito con puertas NAND Circuitos combinacionales. Álgebra de Boole 29
30 Figura Circuito con puertas NOR Se entiende por "nivel" de un circuito lógico al máximo número de puertas que debe atravesar cualquiera de las variables de entrada hasta alcanzar la salida. A mayor nivel, más lento es el circuito en su respuesta, ya que cada puerta introduce un retardo en la propagación de las señales. En el ejemplo f 3 hemos obtenido dos circuitos, uno de nivel 4 y otro de nivel 5. Cualquier función lógica puede realizarse con un circuito de nivel 2 (el correspondiente a la función canónica equivalente), pero se suele aumentar el nivel del circuito para conseguir reducir el número de puertas o el número de entradas en cada puerta, aunque se pierda velocidad de respuesta. Circuitos combinacionales. Álgebra de Boole 30
31 Tecnologías de fabricación de puertas lógicas Las puertas lógicas son actualmente los elementos básicos fundamentales que constituyen todo tipo de circuitos y máquinas digitales. Hemos visto hasta ahora el comportamiento externo de las puertas más importantes. Veremos ahora cual ha sido la evolución seguida en el modo de realizarlas o fabricarlas en la practica. Las características de funcionamiento de las puertas lógicas han ido mejorando rápidamente, a medida que se producían nuevos descrubimientos o avances en el campo de la Electrónica y aparecían nuevas "familias" de puertas lógicas. Entre dichas características, las mas importantes son las siguientes: - Tiempo de retardo: Intervalo de tiempo desde que se aplica una conmutación en las entradas de una puerta hasta que se produce la conmutación completa en la salida. - Fan-out: Número máximo de entradas de puerta a las que puede atacar la salida de una puerta determinada. - Fan-in: Número máximo de entradas que puede tener una puerta de una determinada familia. - Disipación: Potencia eléctrica media consumida por una puerta en régimen estacionario. Familias lógicas Antes del descubrimiento de las válvulas de vacío y del nacimiento de la Electrónica, las funciones lógicas booleanas eran realizadas mediante "relés" (interruptores mecánicos operados eléctricamente mediante un electroimán). Con la aparición de los diodos se ideó una nueva forma de realizar las puertas lógicas, es decir, surgió una primera tecnología o "familia lógica" cuyo circuito básico era el indicado en la figura: Ve1 Ve2 Vs Circuitos combinacionales. Álgebra de Boole 31
32 Esta familia presentaba problemas de todo tipo, debido a que los diodos no eran ideales. Con la invención del Transistor aparecieron las primeras familias lógicas comerciales: la DCTL (Lógica de Transistores acoplados directamente) y la RTL (Lógica Resistor-Transistor). A B S A B S Estas familias tuvieron poca difusión, ya que tenían en general malas características en cuanto a velocidad de conmutación, influencia de ruido externo, disipación de potencia, "fan-out", etc. La primera familia lógica de uso generalizado fue la DTL (Lógica Diodo- Transistor), que luego sería sustituida por la TTL, compatible con ella. La puerta básica es la siguiente: Circuitos combinacionales. Álgebra de Boole 32
33 A B S Esta familia tenía como ventajas una gran variedad de puertas disponibles, baja generación de ruido y buen "fan-out" (8), pero su velocidad de conmutación era relativamente baja (tiempo de retardo de 25 nsg.), y presentaba poca inmunidad al ruido externo. Apareció después la familia TTL (Lógica Transistor-Transistor) la más utilizada actualmente en niveles de integración medios. Presentaba como ventajas la compatibilidad de interconexión con DTL, una gran variedad de puertas y circuitos lógicos, buena inmunidad al ruido, buen "fan-out" (8), menor coste de fabricación que DTL, menor tiempo de retardo (10 nsg.) y menor potencia de disipación (10 mw). Esta familia constituye actualmente la serie de integrados xx74... o xx54.., y trabaja normalmente con niveles lógicos de 0 y 5 voltios, al igual que DTL. Circuitos combinacionales. Álgebra de Boole 33
34 La puerta básica en TTL es la NAND, cuyo circuito interno es el siguiente: A B S De este circuito se desprende que una entrada dejada al aire en TTL equivale a un "1" lógico, ya que el emisor correspondiente de entrada no conduce. Existen varias subfamilias derivadas de la TTL: - STTL (TTL Schottky, serie XX74S...), construida a base de transistores Schottky de conmutación rápida, cuya característica fundamental es su gran velocidad de conmutación (retardo de 3 nsg.). - HTTL (High-speed TTL, serie XX74H...), TTL de alta velocidad. - LPTTL (Low-power TTL, serie XX74L...), TTL de baja disipación. - LSTTL (Low-power Schottky TTL, serie XX74LS...), TTL Schottky de baja disipación, la más moderna y la de mejores características. Circuitos combinacionales. Álgebra de Boole 34

References: Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución