Esta es una vista previa del archivo. Inicie sesión para ver el archivo original
ElectronicaDigital_Apuntes_Problemas/Coleccion_Problemas_EDigital.pdf Enunciados de problemas 121 Problemas del Tema 1 1.1. Convertir a base decimal los siguientes números: • (201.2)3 • (FFA.7)16 • (100)5 • (26.5)7 • (326.5)9 1.2. Convertir a base binaria los siguientes números: • (235.3)10 • (FFA.7)16 • (100)8 • (26.5)7 • (210.1)3 1.3. Convertir directamente: • (340)8 al sistema binario • (100)8 al sistema binario • (1B4)16 al sistema binario • (1000110)2 al sistema octal • (1000110)2 al sistema hexadecimal • (1110110)2 al sistema hexadecimal 1.4. Dado la siguiente igualdad: (100)10 = (400)b, determinar el valor de la base b. ¿Cuál es el valor de (104)10 en la base b? Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática122 1.5. Dado un código pesado con los siguientes pesos: (120,60,20,5,1), con la siguiente expre- sión polinómica: N* = (n4 n3 n2 n1 n0)* = 120*n4 + 60*n3 + 20*n2 + 5*n1 + n0 Donde: 0 < n0< 4 0 < n1 < 3 0 < n2 < 2 0 < n3 < 1 0 < n4 < 1 Se desea averiguar: • El número decimal correspondiente a la palabra de código (01212)* • El número decimal correspondiente a la palabra de código (10010)* • La palabra de código correspondiente al número decimal 125 • La palabra de código correspondiente al número decimal 230 • La palabra de código correspondiente al número binario (1001011) 1.6. Dados los siguientes códigos BCD: Se pide: • Razonar si es un código detector y/o corrector de errores (1 solo bit erróneo) • Detectar y/o corregir (en el caso que sea posible) las siguientes palabras de código. Para ello se debe indicar la particularidad del código detector utilizada para la detección, o los bits de mensaje que son chequeados por cada bit de cheueo. • 0000001 • 1100100 • 0000000 • 1101011 • 0000111 • 0000110 (En el caso de que el código sea corrector, se sabe que los cuatro primeros bits son bits de mensaje y el resto bit de chequeo con paridad de tres bits) Dígito decimal Código nº 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 1 2 0 0 1 1 0 1 1 3 0 0 1 0 1 1 0 4 0 1 1 0 0 0 1 5 0 1 1 1 1 0 0 6 0 1 0 1 0 1 0 7 0 1 0 0 1 1 1 8 1 1 0 0 1 0 0 9 1 1 0 1 0 0 1 Enunciados de problemas 123 1.7. Repetir el ejercicio anterior con los siguientes códigos.: Dígito decimal Código nº 1 Código nº 2 Código nº 3 Código nº 4 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 1 0 0 2 0 0 1 1 1 1 1 0 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 1 0 0 1 1 3 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 4 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 0 1 0 0 1 0 1 5 0 0 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 6 0 1 1 1 1 1 0 1 0 0 1 1 0 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 7 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 1 0 1 1 1 0 1 0 0 1 1 0 0 8 0 0 1 1 1 0 0 1 0 1 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 0 1 1 9 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática124 Problemas del Tema 2 2.1. Usando los postulados del Álgebra de Boole y los teoremas asociados, demuestre la veracidad de las siguientes igualdades: • x·y + x'·y' + x·y' = x + y' • (x'·z' + x'·y + x'·z + x·y)' = x·y' • (x + y)·(x'·z' + z)·(y' + x·z') = x'·y • x·y + y·z + x'·z = x·y + x'·z • (x + y)·(x' + z) = x·z + x'·y • x·y + y·z + x·z = (x + y)·(y + z)·(x + z) • x·y' + y·z' + x'·z = x'·y + y'·z + x·z' 2.2. Pruebe que en un Álgebra de Boole, se verifican las siguientes leyes de cancelación: • Si a+b=a+c y a'+b=a'+c, entonces b = c • Si a+b=a+c y a·b=a·c, entonces b = c 2.3. Determinar si el conjunto B={0,a,b,1} y las operaciones (+) y (·) definidas como: es un álgebra de Boole. 2.4. Obtenga los complementos de las siguientes funciones, así como las tablas de combina- ciones y sus fórmulas canónicas disyuntivas y conjuntivas (tanto del complemento obte- nido como de la función original): • F = a + b·c • F = (a + b)·(a'·c + d) • F = a·b + b'·c + c·a'·d 2.5. Mediante los postulados y teoremas del Álgebra de Boole, obtenga unas expresiones mínimas en suma de productos de las siguientes funciones. A partir de estas sumas de productos, obtenga una expresión en producto de sumas. • F = ∑m(0,1,3,4,6,8) • F = ∑m(0,1,2,4) • F = ∑m(0,1,6,8,10,11,12,13) + 0 A B 1 · 0 A B 1 0 0 A B 1 0 0 0 0 0 A A A 1 1 A 0 A 0 A B B 1 B 1 B 0 0 B B 1 1 1 1 1 1 0 A B 1 Enunciados de problemas 125 • F = ∑m(0,1,14,15) 2.6. Realizar las siguientes operaciones utilizando la aritmética binaria: • 12 + 30 • 2+4+8 • 12-3 (usando la resta binaria) • 20-10 (usando el complemento a dos) • 3·5 • 3.25 · 4 • 15.5 / 3.25 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática126 Problemas del Tema 3 3.1. Analizar de forma estacionaria y transitoria los siguientes circuitos, así como determinar los caminos críticos: z x w y F (i) z x y F (j) x1 x2 x3 x4 F (c) x y F (d) x y z F (a) x y z F (b) b2 a2 b1 a1 X Y (e) x y z F (f) x y z F (h) x y z F (g) Enunciados de problemas 127 Problemas del Tema 4 4.1. Se desea diseñar el circuito de control de una planta de montaje encargado de la señal de aviso de evacuación. Para ello se dispone de tres sensores: • A.- sensor de incendio, • B.- sensor de humedad y • C.- sensor de presión Los materiales con los que se trabaja en dicha planta son tales que son inflamables y sólo toleran unos niveles mínimos de presión y humedad de forma conjunta (estos niveles se encuentran programados en los sensores correspondientes). El circuito a diseñar debe ser tal que active una señal de alarma cuando exista riesgo para los operarios de la planta. 4.2. Se desea diseñar un circuito de control de una máquina trituradora. En esta máquina existen dos sensores de llenado (S1 y S2), que determinan el nivel de los elementos a tri- turar como se muestran en la figura: Cuando la máquina se encuentra llena del todo, tienen que entrar en funcionamiento ambos trituradores; cuando se encuentra medio lleno, sólo tiene que funcionar uno de ellos; mientras que si no se detecta ningún elemento a triturar, ambos motores se han de parar. Dicha máquina tiene un mecanismo de emergencia a través de un conmutador de trituración, de tal forma que cuando está conectado la máquina opera según su contenido, mientras que si está desconectado, la máquina ha de pararse independientemente de su contenido. 4.3. Se desea diseñar un circuito de interfaz binaria-decimal, de tal forma que se active una señal indicando la combinación binaria que se ha introducido a la entrada. Realizar el diseño para números codificados con dos bits, siendo este elemento lo que se conoce como decodificador 2:4. 4.4. Se dispone de un código octal codificado en binario, con un bit de paridad, para la trans- misión de datos entre dos estaciones espaciales. Se desea diseñar un circuito que indique la presencia de un error en un solo bit. 4.5. Encontrar los circuitos mínimos para las siguientes funciones de conmutación: • F1 = m0 + m4 + m5 F2 = m0 + m2 + m3 + m4 + m5 F3 = m0 + m1 + m2 • F = ∑ m(0,2,4,8,10,12) P M1 M2 S1 S2 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática128 • F = ∑ m(1,4,5,7,13) + φ(3,6) G= ∑ m(3,5,7) + φ(6) • F1 = ∑ m(5,7,12,13) + φ(2) F2 = ∑ m(0,1,2,5) + φ(7) F3 = ∑ m(1,2,5,12) + φ(13) 4.6. Realizar el ejercicio anterior, imponiendo la restricción de que todos los circuitos sean libres de azares. • F1 = m0 + m4 + m5 F2 = m0 + m2 + m3 + m4 + m5 F3 = m0 + m1 + m2 Enunciados de problemas 129 Problemas del Tema 5 5.1. Determinar si el conjunto formado por multipliexores forma un conjunto completo. 5.2. Realizar la función F= ∏M(0,2,4,6) mediante: • Multiplexores 8:1 • Multiplexores 4:1 • Decodificadores 3:8 y puertas OR 5.3. Obtener el comportamiento del circuito mostrado a continuación. Este comportamiento puede ser mostrado a través de un diagrama de flujo. 5.4. Se dispone de un dato menor o igual a 19 y siempre positivo. Se desea construir un dis- play decimal para su visualización. Para ello se dispone de los siguientes dispositivos MSI: comparadores, sumadores/restadores y display 7 segmentos con su decodificador incorporado; utilizar el número mínimo posible. 5.5. Se desea realizar un circuito que nos indique el momento y tipo de campanadas que debe dar un reloj (no el número). Los tipos de campanada son tres: cuartos, medias y horas. Para ello disponemos de los minutos en un código BCD natural (dos dígitos, M1 y M0, de cuatro bits). El diseño ha de ser realizado con el mínimo número de las puertas siguientes: compara- dores de cuatro bits y puertas lógicas. x y z1 0 1 2 3 1 0 F z0 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática130 Problemas del Tema 6 6.1. Realizar los diseños de los problemas del Tema 4 mediante dispositivos PROM, PAL y PLA. Enunciados de problemas 131 Problemas del Tema 7 7.1. Determinar la función lógica de los siguientes circuitos y realizarla mediante la lógica CMOS. 7.2. Determinar la función lógica de: A B A’ B’ C’ B’ B A B A’ B’ A B C A A’ C B’ A C B’ B A A’ C’ B’ A B A C A’ B C A’ Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática132 7.3. Realizar el diseño mínimo de la función f = ∑ m(0,1,2,5,7) en una familia lógica CMOS. En dicha familia, no se pueden colocar más de 2 transistores en serie de cada tipo. 7.4. Repetir el problema 7.3 para una familia TTL en la que no pueden generar transistores multi-emisores con más de 2 emisores. 7.5. Repetir el problema 7.3 para una familia ECL. ElectronicaDigital_Apuntes_Problemas/Solucion_problemasEDigital.pdf Soluciones de problemas 133 Problemas del Tema 1 1.1. Convertir a base decimal los siguientes números: • (201.2)3 Para pasar a base decimal tenemos que utilizar el método polinómico, por lo que: N = 2*3 2+0*3 1+1*3 0+2*3 -1 =21.667 • (FFA.7)16 Como estamos en la base hexadecimal, las letras tiene un equivalente numérico (el que se utilizará en el polinomio): N = 15*16 2+15*16 1+10*16 0+7*16 -1 =4090.4375 • (100)5 • (26.5)7 • (326.5)9 1.2. Convertir a base binaria los siguientes números: • (235.3)10 Para pasar a binario, debemos utilizar el método ite- rativo, para lo cual hay que separar la parte entera de la parte decimal. La conversión de la parte entera es: Mientras que la de la parte decimal es: 0.3*2= 0.6 0.6*2= 1.2 0.2*2= 0.4 0.4*2= 0.8 0.8*2= 1.6 Por lo tanto el número binario será: 011101011.01001 • (FFA.7)16 Como no sabemos realizar las operaciones aritméticas en base hexadecimal, primero debemos pasar dicho número a decimal y después a binario. El número deci- 235 2 117 2 58 2 29 2 1 1 0 1 0 14 2 7 2 3 2 1 2 1 1 1 0 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática134 mal será: N=4090.4375. Ahora utilizamos el método iterativo, esparando la parte entera de la parte decimal. 0.4375*2= 0.8750 0.8750*2= 1.7500 0.7500*2= 1.5000 0.5000*2= 1.0000 Por lo tanto, el número binario será: 0110011111010.0111 • (100)8 • (26.5)7 • (210.1)3 1.3. Convertir directamente: • (340)8 al sistema binario Para pasar directamente a binario, la base fuente debe ser un potencia de dos. Entonces, se convierte dígito a dígito con tantos bits como dicha potencia. En este caso la potencia es 3; así ‘3’=’011’, ‘4’=’100’ y ‘0’=’000’. De ahí el número binario será: 011100000 • (100)8 al sistema binario • (1B4)16 al sistema binario En este caso la potencia es 4. Por lo tanto: ‘1’=’0001’, ‘B’=’1011’, ‘4’=’0100’. Luego, el número binario será: 000110110100 • (1000110)2 al sistema octal Para pasar desde binario a una base que es potencia de dos, se agrupan los bits en dicha potencia (empezando 4090 2 2045 2 1022 2 511 2 0 1 0 1 1 255 2 127 2 63 2 31 2 1 1 1 12 2 6 2 3 2 1 2 0 0 1 1 0 Soluciones de problemas 135 por el punto decimal). Como en este caso es la base octal, los grupos serán de tres bits, es decir, ‘1’’000’’110’. Ahora convertimos cada grupo por sepa- rado, por lo que número octal será: 1068 • (1000110)2 al sistema hexadecimal • (1110110)2 al sistema hexadecimal En este caso, los grupos serán de cuatro bits por estar en la base hexadecimal. De ahí, los grupos serán: ‘111’’0110’. Entonces el número hexadecimal será: 3616 1.4. Dado la siguiente igualdad: (100)10 = (400)b, determinar el valor de la base b. ¿Cuál es el valor de (104)10 en la base b? Como conocemos los valores de un número en decimal y en la base desconocida, podemos plantear la onversión polinómica: 100 = 4*b 2+0*b 1+0*b 0 De dicha ecuación podemos obtener el valor de la base, b = 5. Para pasar 104 decimal a base 5, debemos utilizar el método iterativo Por lo tanto, el número será: 04045 1.5. Dado un código pesado con los siguientes pesos: (120,60,20,5,1), con la siguiente expre- sión polinómica: N* = (n4 n3 n2 n1 n0)* = 120*n4 + 60*n3 + 20*n2 + 5*n1 + n0 Donde: 0 < n0< 4 0 < n1 < 3 0 < n2 < 2 0 < n3 < 1 0 < n4 < 1 Se desea averiguar: • El número decimal correspondiente a la palabra de código (01212)* Como tenemos el polinomio de dicha base, para pasar a decimal, sólo tenemos que incluir los dígitos y rea- lizar las operaciones: N=120*0+60*1+20*2+5*1+2=107 • El número decimal correspondiente a la palabra de código (10010)* • La palabra de código correspondiente al número decimal 125 Para pasar de decimal a la nueva base debemos utilizar el método iterativo. Ahora podemos actuar de dos for- mas diferentes. En primer lugar podemos dividir entre el mayor peso. De esta forma sabemos que el cociente es el dígito 104 5 20 5 4 5 4 0 4 0 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática136 correspondiente, y el resto será la combinación del resto de dígitos. Se repite este método con todos los pesos de mayor a menor. Por lo que el número será: (10010)*. Este método no es muy utilizado ya que, por lo general, no conocemos el mayor peso del numero. En segundo lugar, debemos encontrar una relación entre los diferentes pesos de las bases: • 5/1=5 • 20/5=4 • 60/20=3 • 120/60=2 Es decir, el polinomio se puede poner de la siguiente forma: N* = (n4 n3 n2 n1 n0)* = (((2*n4 + n3)*3+ n2)*4+ n1)*5+ n0. Por lo tanto, si dividimos entre 5, 4, 3, 2 y 1, los restos serán los dígitos menos signifi- cativos: Por lo tanto, el número será: (10010)* Ambos métodos son igualmente válidos • La palabra de código correspondiente al número decimal 230 • La palabra de código correspondiente al número binario (1001011) Como la base no es una potencia de dos, no se puede pasar directamente, así que primero debemos pasr el número binario a decimal, y después a la nueva base. Para pasarlo a decimal utilizamos el método polinó- mico: N=1*2 6+1*2 3+1*2 1+1*2 0=75 Ahora utilizamos el método iterativo Por lo tanto, el número representado en la nueva base será: (01030)* 125 120 5 60 5 20 1 0 10 5 5 5 0 1 0 125 5 25 4 6 3 2 2 0 1 0 0 1 1 1 0 75 5 15 4 3 3 1 2 0 3 0 1 0 0 1 0 Soluciones de problemas 137 1.6. Dados los siguientes códigos BCD: Se pide: • Razonar si es un código detector y/o corrector de errores (1 solo bit erróneo) Para que el código sea detector (corrector) de erro- res en un solo bit, la distancia entre todas sus pala- bras debe ser de al menos de 2 (3). Por lo tanto, tenemos que hallar la distancia entre todas las pala- bras: • d(0,1)=3, d(0,2)=4, d(0,3)=3, d(0,4)=3, d(0,5)=4, d(0,6)=3, d(0,7)=4, d(0,8)=3, d(0,9)=4, d(1,2)=3, d(1,3)=4, d(1,4)=4, d(1,5)=3, d(1,6)=4, d(1,7)=3, d(1,8)=4, d(1,9)=3, d(2,3)=3, d(2,4)=3, d(2,5)=4, d(2,6)=3, d(2,7)=4, d(2,8)=7, d(2,9)=4, d(3,4)=4, d(3,5)=3, d(3,6)=4, d(3,7)=3, d(3,8)=4, d(3,9)=7, d(4,5)=3, d(4,6)=4, d(4,7)=3, d(4,8)=4, d(4,9)=3, d(5,6)=3, d(5,7)=4, d(5,8)=3, d(5,9)=4, d(6,7)=3, d(6,8)=4, d(6,9)=3, d(7,8)=3, d(7,9)=4, d(8,9)=3. Como la distancia mínima entre todas sus palabras es igual a 3, este código es un código corrector de erro- res en un solo bit (y por tanto también es detector) • Detectar y/o corregir (en el caso que sea posible) las siguientes palabras de código. Para ello se debe indicar la particularidad del código detector utilizada para la detección, o los bits de mensaje que son chequeados por cada bit de cheueo. • 0000001 • 1100100 • 0000000 • 1101011 • 0000111 • 0000110 (En el caso de que el código sea corrector, se sabe que los cuatro primeros bits son bits de mensaje y el resto bit de chequeo con paridad de tres bits) Dígito decimal Código nº 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 1 2 0 0 1 1 0 1 1 3 0 0 1 0 1 1 0 4 0 1 1 0 0 0 1 5 0 1 1 1 1 0 0 6 0 1 0 1 0 1 0 7 0 1 0 0 1 1 1 8 1 1 0 0 1 0 0 9 1 1 0 1 0 0 1 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática138 Como el código es un código corrector de errores en un solo bit, vamos a indicar los bits de mensaje (los tres primeros) que son chequeados por cada bit de che- queo (los tres últimos). Nombrémos los bits de la siguiente forma: m1m2m3m4c1c2c3 Para ello, vamos a fijarnos en las palabras que sólo tienen un ‘1’ en los bits de mensaje. De esta forma los bits de chequeo que valgan ‘1’, chequearán a dicho bit. Utilizando este criterio, observamos que: • c1 chequea a m4, m3, m2 • c2 chequea a m3, m2 • c3 chequea a m4, m2 Como no hay ninguna palabra que tenga un ‘1’ en m1 y ‘0’ en los demás bits de mensaje, pasamos a comprobar las palabras con dos 1’s. Los bits de chequeo que val- gan ‘0’, chequearán a ambos bits; obteniendo: • c2 chequea a m1 • c3 chequea a m1 Unificando ambas tablas, obtenemos la tabla de che- queo completa: • c1 chequea a m4, m3, m2 • c2 chequea a m3, m2, m1 • c3 chequea a m4, m2, m1 Para el caso de la corrección, debemos obtener el valor de los bits de chequeo correspondientes a los bits de mensajes que nos han llegado, y compararlos con los bits de chequeo que nos han llegado. En el caso de que sean los mismos, la palabra obtenida es la correcta. En el caso de la palabra 0000001, los bits de chequeo c1, c2 y c3 deberían valer ‘0’, pero c3 vale ‘1’. Esta situa- ción nos indica que ha existido un error. Ahora debe- mos decidir en qué bit se ha producido el error. Como el error se ha detectado en c3, los bits que pueden ser erróneos son: c3, m4, m2 y m1. Además sabemos que el error se ha producido en un solo bit. Luego, • si se hubiese producido en m4, el error también se hubiera detectado en c1; • si se hubiese producido en m2, también se hubiese detectado en c1 y c2; • y si se hubiese producido en m1, también se hubiese detectado en c2. Por lo tanto, el error debe estar en el propio bit de chequeo c3. Así la palabra correcta sería: 0000000 En el caso de la palabra 1100100, los bits de chequeo c1, c2 y c3 deberían valer ‘100’, como los bits de chequeo que han llegado. Por lo tanto, la palabra recibida es correcta. En el caso de la palabra 0000111, los bits de chequeo c1, c2 y c3 deberían valer ‘0’, pero c2 y c3 vale ‘1’. Soluciones de problemas 139 Esta situación nos indica que ha existido un error. Ahora debemos decidir en qué bit se ha producido el error. Como el error se ha detectado en c1, c2 y c3, los bits que pueden ser erróneos son: m2 (puesto que un error en algún otro implicaría un error en más de un bit). Así la palabra correcta sería: 0100111 • Razonar una posible variante para obtener un código para detectar fallos de dos bits a partir de un código corrector de error de un bit. Un método para obtener un código detector consiste en añadir un bit de paridad total. Pero para que este método surta efecto, debemos asegurarnos que la pari- dad de las palabras del código original no es la misma en todas las palabras. Esta situación se cumple en nuestro código ya que hay palabras con 0, 3 y 4 1’s. Por lo tanto, añadimos un bit de paridad total. Así si se detecta un fallo, en los bits de chequeo y de pari- dad, el error está en un solo bit; mientras que si el fallo sólo se detecta en los bits de chequeo, se ha producido un fallo en dos bits. 1.7. Repetir el ejercicio anterior con los siguientes códigos.: Dígito decimal Código nº 1 Código nº 2 Código nº 3 Código nº 4 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 1 0 0 2 0 0 1 1 1 1 1 0 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 1 0 0 1 1 3 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 4 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 0 1 0 0 1 0 1 5 0 0 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 6 0 1 1 1 1 1 0 1 0 0 1 1 0 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 7 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 1 0 1 1 1 0 1 0 0 1 1 0 0 8 0 0 1 1 1 0 0 1 0 1 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 0 1 1 9 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática140 Problemas del Tema 2 2.1. Usando los postulados del Álgebra de Boole y los teoremas asociados, demuestre la veracidad de las siguientes igualdades: • x·y + x'·y' + x·y' = x + y' Utilizando el teorema de idempotencia, y reordenando la expresión podemos poner: xy+xy’+xy’+x’y’ A continuación sacamos factor común: x(y+y’)+(x+x’)y’ Aplicando el cuarto postulado del Álgebra de Boole: x+y’ Por lo tanto, la igualdad es correcta. • (x'·z' + x'·y + x'·z + x·y)' = x·y' Si reordenamos la expresión, obtenemos: (x’z’+x’z+x’y+xy)’ Sacando factor común: (x’(z+z’)+(x’+x)y)’ Aplicando el cuarto postulado: (x’+y)’ Aplicando las leyes de DeMorgan: xy’. Por lo tanto, la igualdad es correcta. • (x + y)·(x'·z' + z)·(y' + x·z') = x'·y Si aplicamos el teorema 7 en el paréntesis central, obtenemos: (x+y)(x’+z)(y’+xz’) Multiplicando los dos primeros paréntesis: (xz+x’y+yz)(y’+xz’) Multiplicando los paréntesis que nos quedan: xzy’. Por lo tanto, la igualdad es falsa. • x·y + y·z + x'·z = x·y + x'·z • (x + y)·(x' + z) = x·z + x'·y Multiplicando los paréntesis, obtenemos: xz+x’y+yz Si multiplicamos por 1=x+x’, el término que queremos eliminar, yz xz+x’y+yz(x+x’) Multiplicando el paréntesis: xz+x’y+xyz+x’yz Reordenando los términos y sacando factor común: xz(1+y)+x’y(1+z) Utilizando el teorema de los elementos nulos: xz+x’y. Por lo que la igualdad es correcta. • x·y + y·z + x·z = (x + y)·(y + z)·(x + z) • x·y' + y·z' + x'·z = x'·y + y'·z + x·z' Soluciones de problemas 141 2.2. Pruebe que en un Álgebra de Boole, se verifican las siguientes leyes de cancelación: • Si a+b=a+c y a'+b=a'+c, entonces b = c Si multiplicamos los términos de las dos expresiones de partida, obtenemos: (a+b)(a’+b)=(a+c)(a’+c) ab+a’b+b=ac+a’c+c Utilizando el teorema 7, obtenemos: ab+b=ac+c Si, de nuevo, utilizamos el mismo teorema, obtenemos: b=c Por lo tanto, se verifica la ley de cancelación. • Si a+b=a+c y a·b=a·c, entonces b = c 2.3. Determinar si el conjunto B={0,a,b,1} y las operaciones (+) y (·) definidas como: es un álgebra de Boole. Para demostrar que se trata de un álgebra de Boole, se deben cumplir los cuatro postulados de dicho algebra. • Operaciones conmutativas. La comprobación de este postulado es visual, ya que las tablas son simétricas respecto de su diagonal. • Operaciones distributivas. Para ello, construi- mos las tablas de verdad de que parte de la igualdad de dichas propiedades. Estas tablas se muestran en la siguiente página. • Elementos neutros diferentes. Podemos observar de las tablas que el elemento neutro de la suma es el ‘0’, y el del producto es el ‘1’. • Elementos complementos. La forma más fácil de demostrar este postulado es encontrar los com- plementos de todos los elementos de B, es decir, parejas de elementos que cumplan XY=0 y X+Y=1. Estas parejas son: • A’=B • 0’=1 • B’=A • 1’=0 2.4. Obtenga los complementos de las siguientes funciones, así como las tablas de combina- ciones y sus fórmulas canónicas disyuntivas y conjuntivas (tanto del complemento obte- nido como de la función original): • F = a + b·c + 0 A B 1 · 0 A B 1 0 0 A B 1 0 0 0 0 0 A A A 1 1 A 0 A 0 A B B 1 B 1 B 0 0 B B 1 1 1 1 1 1 0 A B 1 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática142 X Y Z X(Y+Z) XY+XZ X+YZ (X+Y)(X+Z) A A A A A A A B A A A A 0 A A A A 1 A A A A B A A A A A B 0 0 1 1 0 0 0 A A 1 A A 1 1 0 A A A A A B 0 0 A A 0 0 0 A A 1 A A A A 1 A A A A A B A A 1 1 0 A A A A 1 A A 1 1 B A A 0 0 1 1 B B B B B 0 1 1 B B 1 B B 1 1 B A B B B B B B B B B 0 B B B B 1 B B B B 0 A 0 0 B B B B B B B 0 0 0 B B 1 B B B B 1 A B B 1 1 B B B B B 0 B B B B 1 B B 1 1 Soluciones de problemas 143 0 A A 0 0 A A B 0 0 0 0 0 0 0 0 0 1 0 0 A A B A 0 0 0 0 B 0 0 B B 0 0 0 0 0 1 0 0 B B 0 A 0 0 0 0 B 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 A 0 0 A A B 0 0 B B 0 0 0 0 0 1 0 0 1 1 1 A A A A 1 1 B 1 1 1 1 0 A A 1 1 1 1 1 1 1 B A 1 1 1 1 B B B 1 1 0 B B 1 1 1 1 1 1 1 0 A A A 1 1 B B B 1 1 0 0 0 1 1 1 1 1 1 1 1 A 1 1 1 1 B 1 1 1 1 0 1 1 1 1 1 1 1 1 1 X Y Z X(Y+Z) XY+XZ X+YZ (X+Y)(X+Z) Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática144 Para obtener el complemento de la función, aplicamos las leyes de DeMorgan: F’= a’(b’+c’) A continuación, vamos a obtener la tabla de verdad de la función y su complemento: Para obtener las fórmulas canónicas disyuntivas (con- juntivas) nos tenemos que quedar con las combinacio- nes para las que la función toma el valor ‘1’ (‘0’), y generar los mintérminos (maxtérminos) correspondien- tes: F = ∑ m(3,4,5,6,7) = a’bc + ab’c’ + ab’c + abc’ + abc F = ∏ M (0,1,2) = (a+b+c)(a+b+c’)(a+b’+c) F’ = ∑ m(0,1,2) = a’b’c’ + a’b’c + a’bc’ F’ = ∏ M(3,4,5,6,7) = (a+b’+c’)(a’+b+c)(a’+b+c’)(a’+b’+c)(a’+b’+c’) • F = (a + b)·(a'·c + d) • F = a·b + b'·c + c·a'·d 2.5. Mediante los postulados y teoremas del Álgebra de Boole, obtenga unas expresiones mínimas en suma de productos de las siguientes funciones. A partir de estas sumas de productos, obtenga una expresión en producto de sumas. • F = ∑m(0,1,3,4,6,8) En primer lugar, pasamos esta expresión a suma de pro- ductos: F = a’b’c’d’ + a’b’c’d + a’b’cd + a’bc’d’ + a’bcd’ + ab’c’d’ Ahora observamos qué términos podemos agrupar para sacar factor común. En el caso de que haya un término que podemos agrupar con más de uno, aplicamos la ley de idempotencia y desdoblamos dicho término. No obs- tante, trataremos de agrupar el número mínimo de tér- minos, es decir, no agruparemos dos términos que hayan sido agrupado antes. F = a’b’c’(d’+d) + (a’+a)b’c’d’ + a’b’(c’+c)d + a’b(c+c’)d’ Aplicando el cuarto postulado del álgebra de Boole: A B C F F’ 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 0 Soluciones de problemas 145 F = a’b’c’ + b’c’d’ + a’b’d + a’bd’ Para pasar a producto de sumas, debemos complementar la expresión dos veces: F’=(a+b+c)(b+c+d)(a+b+d’)(a+b’+d) Realizamos las multiplicaciones de los paréntesis: F’= (ad+b+c)(a+bd+b’d’) F’= ad + ab + ac + bd + bcd + b’cd’ De nuevo aplicaremos las leyes de DeMorgan: F = (F’)’=(a’+d’)(a‘+b’)(a’+c’)(b’+d)(c’+d) • F = ∑m(0,1,2,4) • F = ∑m(0,1,6,8,10,11,12,13) • F = ∑m(0,1,14,15) 2.6. Realizar las siguientes operaciones utilizando la aritmética binaria: • 12 + 30 Primero pasamos los números decimales a códgio bina- rio, es decir, 12 = ‘01100’ y 30 = ‘11110’. A conti- nuación, realizamos la suma: 111000 -> acarreo 001100 -> 12 011110 -> 30 101010 -> 42 • 2+4+8 Igual que el anterior, pero primero se suman los dos primeros sumandos, y después su resultado se suma con el tercero. • 12-3 (usando la resta binaria) Primero pasamos los números decimales a códgio bina- rio, es decir, 12 = ‘1100’ y 3 = ‘0011’. A continua- ción, realizamos la resta: 1100 -> 12 0110 -> desbordamiento 0011 -> 03 1001 -> 09 • 20-10 (usando el complemento a dos) Primero pasamos los números decimales a códgio bina- rio, es decir, 20 = ‘10100’ y -10 = -‘01010’ = ‘10110’. A continuación, realizamos la suma: 01000 -> acarreo 10100 -> +20 10110 -> -10 01010 -> +10 • 3·5 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática146 • 3.25 · 4 Primero pasamos los números decimales a códgio bina- rio, es decir, 3.25 = ‘11.01’ y 4 = ‘100’. A continua- ción, realizamos la multiplicación: ______________ 11.01 -> 3.25 ______________ x 100 -> __x4 ______________ 00 00 _____________ 000 0 ____________ 1101__ ____________ 1101.00 ->13.00 • 15.5 / 3.25 Soluciones de problemas 147 Problemas del Tema 3 3.1. Analizar de forma estacionaria y transitoria los siguientes circuitos, así como determinar los caminos críticos: z x w y F (i) z x y F (j) x1 x2 x3 x4 F (c) x y F (d) x y z F (a) x y z F (b) b2 a2 b1 a1 X Y (e) x y z F (f) x y z F (h) x y z F (g) Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática148 * Circuito (a) Para obtener el análisis estacionario, etiquetamos todos los nodos con la función lógica correspon- diente. Por lo tanto, la función lógica que realiza este cir- cuito es: F = (x+y+z)(y+z)z. En el análisis transitorio, tenemos que buscar alguna señal que recorra más de un camino (hasta llegar al nodo de salida), y que en alguno de ellos la señal esté complementada. En este caso particular, sóla- mente pueden existir azares en la señal z, ya que la señal x sólo recorre un camino, y la señal y recorre dos pero en ambos está sin complementar. Las condiciones de azares son: • azares estáticos: • F = z+ z • F = z z • azares dinámicos: • F = z(z+ z) • F = z+z z Por simple inspeción de la fórmula, podemos observar que sólo se pueden dar azares estáticos de la forma zz. Para que se produzcan estos azares, las combina- ciones del resto de señales deben ser: • x=1 y=0 --> F = zz • x=0 y=0 --> F = zzz El camino crítico es aquel que muestra un retraso mayor. Como no se nos da el retraso de cada puerta, suponemos que todas las puertas tienen el mismo retraso, por lo que el camino crítico será aquel que atraviese más puertas. En nuestro caso, dicho camino será OR - OR - AND. Las combinaciones que siguen este camino son: • Para que la última puerta AND espera a la puerta OR del camino, se tiene que cumplir: • z=1 --> z=0 • y+z=1 • Para que la segunda puerta OR espere a la pri- mera se tiene que cumplir: x y z F=n2n1z (a) n2=x+n1 n1=y+z Soluciones de problemas 149 • x=0 Las combinaciones que cumplen todas estas condiciones son: • x=0, y=1, z=0 Como dicho camino es seguido por alguna combinación de entradas, el camino anterior era el crítico, for- mado por tres puertas. * Circuito (b) Para obtener el análisis estacionario, etiquetamos todos los nodos con la función lógica correspon- diente. Por lo tanto, F = (xy)’ ⊕ (y+z’) En el caso del análisis transitorio, veamos como influyen las puertas XOR en el caso de los azares: • x ⊕ x = xx’+x’x = xx’ --> 0 • x ⊕ x’ = xx+x’x’ = x + x’ --> 1 Entonces, la operación XOR de la misma señal (por dos caminos diferentes) pueden provocar azares, aunque ambos caminos sean complementados o sin complementar. Centrándonos en nuestro caso, la única señal en la que se pueda presentar algún azar es la señal y, por ser la única que sigue más de un camino. • F = y’ ⊕ y, si x=’1’ y z=’1’ Por lo tanto, existe un único azar en la señal y, cuando x=z=’1’. Analicemos la influencia de la puerta XOR en el camino crítico: • F = x ⊕ y = xy’ + x’y Por lo tanto, independientemente del valor lógico de alguna de sus entradas, el resultado de la puerta depende de la puerta restante, así que estas puertas no introducen ninguna restricción. En nuestro caso particular, encontramos dos caminos críticos: NAND-XORy OR-XOR. Como la última puerta es una XOR, su resultado siempre va a depender del nivel anterior. Por lo tanto, esos serán los caminos críti- cos que presenta nuestro circuito, dándose para todas las combinaciones de entrada. x y z F = n1 ⊕ n2 n2 = y+z’ n1 = xy Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática150 * Circuito (e) Para obtener el análisis estacionario, etiquetamos todos los nodos con la función lógica correspon- diente. Por lo tanto, el valor de las funciones de salida X e Y son: • X = b2a2 + b1a1( b2’a2+b2a2’ ) • Y = a2b2 + b1 a1( b2’a2+b2a2’ ) Para el caso del análisis transitorio, debemos consi- derar solamente las señales que siguen más de un camino (y alguno de los cuales debe estar complemen- tada y sin complementar), para la misma salida. Las únicas señales que cumplen este requisito son las señales b2 y a2, con dos caminos diferentes. Por lo tanto, sólo podemos buscar azares estáticos: • Para quedarnos con b2’ en la función X, la señal a2 debe valer ‘1’ • Para quedarnos con b2 en la función X, la señal a2 debe valer ‘0’, b1 ‘1’ y a1 ‘0’ Como no existe ninguna combinación que cumpla todas las restricciones, concluimos con que no existen aza- res en b2 para la función X. Además como la función es conmutativa con respecto a b2 y a2, podemos concluir que tampoco habrá azares en a2. Para el caso de la función Y, vemos que el comporta- miento es exactamente el mismo que en la función X, por lo que tampoco habrá azares para esta función. El camino crítico de una función multisalida es el camino más crítico de todas las salidas por separado. Podemos observar que el camino más largo es el mismo en ambas salidas, el cual recorre: AND2-NOR-AND3-OR. • Para que la puerta OR espera a la AND3, se tiene b2 a2 b1 a1 X Y (e) n1=b2a2 n2=a2b2 n3=n1+n2 n4=n3a1 b1 n5=n3b1 a1 Soluciones de problemas 151 que cumplir: • n1 = b2’a2 = 0 para la función X • n2 = b2a2’ = 0 para la función Y • Para que la puerta AND3 espere a la NOR, se tiene que cumplir: • b1=’0’ y a1=’1’ para la función X • b1=’1’ y a1=’0’ para la función Y • La puerta NOR siempre espera a una AND2, ya que todas sus entradas son salidas de estas puer- tas. Las combinaciones que siguen estos caminos son: • a1b1a2b2 = 100-, 10-1 para la función X • a1b1a2b2 = 011-, 01-0 para la función Y Como existen combinaciones de las señales de entradas que siguen estos caminos, podemos afirmar que el camino crítico es el formado por AND2-NOR-AND3-OR. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática152 Problemas del Tema 4 4.1. Se desea diseñar el circuito de control de una planta de montaje encargado de la señal de aviso de evacuación. Para ello se dispone de tres sensores: • A.- sensor de incendio, • B.- sensor de humedad y • C.- sensor de presión Los materiales con los que se trabaja en dicha planta son tales que son inflamables y sólo toleran unos niveles mínimos de presión y humedad de forma conjunta (estos niveles se encuentran programados en los sensores correspondientes). El circuito a diseñar debe ser tal que active una señal de alarma cuando exista riesgo para los operarios de la planta. En primer lugar debemos identificar las entradas y salidas del circuito. Como entradas tenemos los tres sensores, mientras que como salida tenemos la señal de alarma. En segundo lugar, tenemos que generar la función lógica que queremos diseñar. Para este cometido nos fijamos en las especificaciones del diseño: • La alarma se activará cuando exista un incen- dio, es decir, el sensor A se active; ya que los materiales son inflamables. • La alarma se activará cuando exista mucha pre- sión y humedad, es decir, cuando se activen simultáneamente los sensores B y C; por propie- dad de los materiales. Por lo tanto, la función lógica será: Para generar el circuito, y debido a que estamos ante una función con una sola salida, vamos a utilizar el métod del mapa. 4.2. Se desea diseñar un circuito de control de una máquina trituradora. En esta máquina existen dos sensores de llenado (S1 y S2), que determinan el nivel de los elementos a tri- turar como se muestran en la figura: Cuando la máquina se encuentra llena del todo, tienen que entrar en funcionamiento ambos trituradores; cuando se encuentra medio lleno, sólo tiene que funcionar uno de A B C F 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 Soluciones de problemas 153 ellos; mientras que si no se detecta ningún elemento a triturar, ambos motores se han de parar. Dicha máquina tiene un mecanismo de emergencia a través de un conmutador de trituración, de tal forma que cuando está conectado la máquina opera según su contenido, mientras que si está desconectado, la máquina ha de pararse independientemente de su contenido. De nuevo tenemos que identificar las entradas y sali- das de nuestro sistema: • Como entradas tendremos los dos sensores de presencia, S1 y S2, y el conmutador de tritura- ción, P. • Como salida tendremos las dos señales que con- trolan los motores de trituración, M1 y M2. El siguiente paso consiste en obtener la tabla de ver- dad de la función lógica que queremos implementar: La combinación S1 = ‘1’ y S2 = ‘0’ no se puede produ- cir nunca en un sistema real. Por lo tanto, el valor P S1 S2 M1 M2 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 x x 1 1 1 1 1 0 0 1 1 1 0 1 1 00 01 11 10 0 1 A BC F = A + BC A B C F P M1 M2 S1 S2 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática154 de las salidas en dicha combinación no importa y se trata como una inespecificación para tratar de redu- cir lo máximo posible el circuito final. Como se trata de una función multisalida, M1 y M2, debemos utilizar el método de McCluskey. En primer lugar hallaremos los imlicantes de la función, y depués completaremos la tabla de McCluskey: En este caso podemos apreciar que todos los implican- tes son esenciales, y deberán estar en el circuito lógico. 4.3. Se desea diseñar un circuito de interfaz binaria-decimal, de tal forma que se active una señal indicando la combinación binaria que se ha introducido a la entrada. Realizar el diseño para números codificados con dos bits, siendo este elemento lo que se conoce como decodificador 2:4. De nuevo debemos identificar las entradas y salidas de nuestro sistema: • Como entradas tendremos los bits cuya combina- ción se quiere detectar. Como en nuestro caso son dos bits, denominémosloss B0 y B1. • Como salidas tendremos todas las posibles com- binaciones de los bits de entrada. En nuestro caso serán cuatro combincaciones, denominémos- las C0, C1, C2 y C3. El siguiente paso consiste en obtener la función lógica que se desea imlementar. Supongamos que la salida Ci detecta la combinación i. Luego la función será: 0 0 0 0 0 0 1 x 00 01 11 10 0 1 P S1S2 M1 = P*S2 S2 P S1 M1 M1*M2 0 0 0 1 0 0 1 x 00 01 11 10 0 1 P S1S2 M1 0 0 0 0 0 0 1 x 00 01 11 10 0 1 P S1S2 M2 M1 y M2 ---> I1 = P*S1 M1 --------> I2 = P*S2 x x x x 5 7 7 I1 I2 M2 = P*S1 M2 Soluciones de problemas 155 Por tratarse de una función multisalida se debería aplicar McCluskey. No obstante, podemos comprobar que las salidas no tienen ningún ‘1’ en común por lo que se pueden tratar como funciones diferentes. Además como las funciones sólo tienen un ‘1’ y todo lo demás ‘0’, podemos halar el término producto directamente de la tabla, ya que será el mintérmino correspon- diente. Así, las salidas tendrán las siguientes fór- mulas: • C3 = B1*B0 • C2 = B1*B0’ • C1 = B1’*B0 • C0 = B1’*B0’ Luego el circuito correspondiente será: 4.4. Se dispone de un código octal codificado en binario, con un bit de paridad, para la trans- misión de datos entre dos estaciones espaciales. Se desea diseñar un circuito que indique la presencia de un error en un solo bit. 4.5. Encontrar los circuitos mínimos para las siguientes funciones de conmutación: • F1 = m0 + m4 + m5 F2 = m0 + m2 + m3 + m4 + m5 F3 = m0 + m1 + m2 Como ya nos dan la función lógica que debemos imple- mentar, sólo los queda hallar el circuito lógico. Esta función tendrá tres entradas, x1, x2 y x3, ya que sólo tiene hasta el quinto mintérmino. Los implican- tes serán: • F1, F2 y F3 --> I1 = x1’*x2’*x3’ • F1 y F2 --> I2 = x2’*x3’, I3= x1*x2’ • F2 y F3 --> I4 = x1’*x3’ B1 B0 C3 C2 C1 C0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 0 0 S2 S1 C1 C0 C2 C3 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática156 • F2 --> I5 = x1’*x2 • F3 --> I6 = x1’*x2’ La tabla de McCluskey será: Aplicando los criterios de esencialidad, obtenemos que I3 es esencial para F1, I3 e I5 son esenciales para F2, e I6 e I4 son esenciales para F3. Eliminando estas filas y sus columnas marcadas, nos queda la tabla: En la tabla restante, aplicamos los criterios de dominancia. Comprobamos que el implicante I4 es domi- F1 F2 F3 0 4 5 0 2 3 4 5 0 1 2 I1 X X X I2 X X X X I3 X X X X I4 X X X X I5 X X I6 X X 1 0 0 0 0 0 0 0 00 01 11 10 0 1 x1 x2x3 F1*F2*F3 1 0 1 1 0 0 0 0 00 01 11 10 0 1 x1 x2x3 F1*F2 1 0 0 0 0 0 0 0 00 01 11 10 0 1 x1 x2x3 F1*F3 1 0 0 0 0 1 0 0 00 01 11 10 0 1 x1 x2x3 F2*F3 1 0 1 1 0 0 0 0 00 01 11 10 0 1 x1 x2x3 F1 1 0 1 1 1 1 0 0 00 01 11 10 0 1 x1 x2x3 F2 1 1 0 0 0 1 0 0 00 01 11 10 0 1 x1 x2x3 F3 Soluciones de problemas 157 nado tanto por I1 como por I2. También se observa que I2 e I1 son equivalentes, por lo que nos quedamos con el de menos coste. Éste será I2 por ser una puerta AND de dos entradas, frente a la de tres que es I1. Por lo tanto, las fórmulas lógicas serán: • F1 = I3 + I2 = x1*x2’ + x2’*x3’ • F2 = I3 + I5 + I2 = x1*x2’ + x1’*x2 + x2’*x3’ • F3 = I6 + I4 = x1’*x2’ + x1’*x3’ • F = ∑ m(0,2,4,8,10,12) • F = ∑ m(1,4,5,7,13) + φ(3,6) G= ∑ m(3,5,7) + φ(6) • F1 = ∑ m(5,7,12,13) + φ(2) F2 = ∑ m(0,1,2,5) + φ(7) F3 = ∑ m(1,2,5,12) + φ(13) 4.6. Realizar el ejercicio anterior, imponiendo la restricción de que todos los circuitos sean libres de azares. • F1 = m0 + m4 + m5 F2 = m0 + m2 + m3 + m4 + m5 F3 = m0 + m1 + m2 La única diferencia con el caso anterior consiste en que las columnas de la tabla de McCluskey se colocan pares de mintérminos adyacentes, en lugar de solo mintérminos. Por lo tanto, los implicantes serán los mismos que en el ejercicio anterior. La nueva tabla de McCluskey será: En este caso, todos los implicantes son esenciales excepto I1. Las fórmulas de conmutación serán: F1 F2 0 0 I1 X X I2 X X I4 X x3 x2 x1 F1 F2 F3 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática158 • F1 = I2 + I3 = x2’*x3’ + x1*x2’ • F2 = I2 + I3 + I4 + I5 = x2’*x3’ + x1*x2’ + x1’*x3’ + x1’*x2 • F3 = I4 + I6 = x1’*x3’ + x1’*x2’ F1 F2 F3 0-4 4-5 0-2 0-4 2-3 4-5 0-1 0-2 I1 I2 X X I3 X X I4 X X I5 X I6 X Soluciones de problemas 159 Problemas del Tema 5 5.1. Determinar si el conjunto formado por multipliexores forma un conjunto completo. Para determinar cuando un conjunto de puertas es com- pleto, debemos generar otro conjunto completo, como por ejemplo puertas AND, OR e inversores. A la hora de implementar una función mediante multi- plexores, la forma más intuitiva consiste en crear la tabla de la función, tomando las entradas como las señales de selección y la salida en función de las restantes entradas. Luego, cada fila de dicha tabla será cada canal de entrada del multiplexor. Por ejem- plo: Por lo tanto, a nivel de circuito, estas puertas serán: Por lo tanto, el conjunto formado por los multiplexo- res forma un conjunto completo. Como podemos apreciar, para que el diseño se realice con un solo multiplexor, éste tiene que tener como mínimo n-1 señales de selección, donde n es el número de variables de la función a implementar. A B F=A+ B A B F=A* B A F=A’ A F=A +B A F=A* B A F=A ’ 0 0 0 0 0 0 0 1 0 B 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 B 1 0 1 0 1 1 0 0 1 1 1 1 1 1 0 1 2 3 1 0 0 1 2 3 1 0 0 1 0 F = A + B F = A * B F = A’ A A B A B 0 1 1 1 0 0 0 1 1 0 0 1 0 F = A + B A B 1 0 1 0 F = A * B A 0 B 0 1 0 F = A’ A 1 0 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática160 5.2. Realizar la función F= ∏M(0,2,4,6) mediante: • Multiplexores 8:1 • Multiplexores 4:1 Como vimos en el ejercicio anterior, tenemos que for- mar la tabla de verdad de la función con dos variables de entrada (ya que nuestro multiplexor tiene dos canales de selección). Para ello nos ayudaremos viendo la tabla total de la función: Las variables que elegimos para las entradas de selección serán aquellas que más nos convenga, pero no existe ningun método para indicarnos esta situa- ción, ya que es muy ependiente de la función a imple- mentar. A continuación mostramos todas las soluciones que hemos obtenido: • Decodificadores 3:8 y puertas OR En este caso, sabemos que cada canal de salida de un decodificador activo a nivel alto (bajo) identifica cada uno de los mintérminos (maxtérminos). Si lo que tenemos para unirlos son puertas OR, el único decodi- ficador que nos sirve es activo a nivel alto; por lo que debemos pasar la función a suma de mintérminos: F= ∏ M(0,2,4,6) = ∑ m(1,3,5,7) Una vez hecho esto, sólo tenemos que sumar (a través de la puerta OR) los mintérminos para los que la fun- ción vale ‘1’. A B C F A B F A C F B C F 0 0 0 0 0 0 C 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 1 0 1 0 0 0 1 C 1 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 C 1 0 1 1 1 1 0 0 1 1 C 1 1 1 1 0 1 2 3 1 0 0 1 2 3 1 0 F F B CA B C C C C 0 1 0 1 0 1 2 3 1 0 F A C 1 0 1 0 Soluciones de problemas 161 ¡¡ Hay que tener mucho cuidado con el orden de las entradas del decodificador, ya que puede cambiar el índice de los mintérminos !! . 5.3. Obtener el comportamiento del circuito mostrado a continuación. Este comportamiento puede ser mostrado a través de un diagrama de flujo. Para tratar de obtener el comportamiento de este cir- cuito, veámoslo más detenidamente. El circuito mues- tra dos niveles: • Existen una serie de puertas lógicas en el pri- mer nivel que no están relacionadas entre sí. • En el segundo nivel, encontramos un multiplexor que selecciona la operación de cada una de estas puertas. Entonces, el comportamiento de este circuito es: • Cuando z1z0 = ‘00’, F = x ⊕ y • Cuando z1z0 = ‘01’, F = x + y • Cuando z1z0 = ‘10’, F = x*y • Cuando z1z0 = ‘11’, F = y Si pasamos estas condiciones a un diagrama de flujo: 5.4. Se dispone de un dato menor o igual a 19 y siempre positivo. Se desea construir un dis- play decimal para su visualización. Para ello se dispone de los siguientes dispositivos MSI: comparadores, sumadores/restadores y display 7 segmentos con su decodificador incorporado; utilizar el número mínimo posible. En primer lugar tenemos que identificar las condicio- nes que utilizan distintos dígitos BCD. Así, cuando el número es menor que 10, el dígito más significativo (llamémoslo D1) valdrá 0, y el menos significativo (llamémoslo D0) valdrá el número de entrada. En cam- 0 1 2 3 4 5 6 7 4 2 1 F A B C x y z1 0 1 2 3 1 0 F z0 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática162 bio, cuando sea mayor o igual a 10, el digito más sig- nificativo valdrá 1 y el menos significativo valdrá ‘n-10’. Pasemos este comportamiento a un diagrama de flujo: Cada componente de este diagrama tiene su equivalente en circuitos MSI. Así: • una comparación equivale a un comparador • una selección equivale a un circuito selector: multiplexor o demultiplexor, según el número de salidas y de entradas. • una acción equivale a bloque que realiza dicha acción: sumador, operación lógica, ... En nuestro caso particular necesitaremos dos multi- plexores, ya que tenemos dos selecciones en las que la salida es la misma, un comparador y un sumador/resta- dor (haciendo la función de resta). Cada multiplexor tiene una anchura de 4 bits puesto que tiene que entrar en un display 7-segmentos. 5.5. Se desea realizar un circuito que nos indique el momento y tipo de campanadas que debe dar un reloj (no el número). Los tipos de campanada son tres: cuartos, medias y horas. Para ello disponemos de los minutos en un código BCD natural (dos dígitos, M1 y M0, de cuatro bits). El diseño ha de ser realizado con el mínimo número de las puertas siguientes: compara- dores de cuatro bits y puertas lógicas. Denominemos las salidas como C(cuartos), M(medias) y H (horas). En este caso tenemos que detectar las secuencias 00, 15, 30 y 45, ya que son las que produ- cirán las campanadas. El comportamiento del circuito z1z0 F = x ⊕ y F = x + y F = x ∗ y F = y 00 01 10 11 n > 10 D1 = ‘0’ D1 = ‘1’ No Si n > 10 D0 = ‘n’ D0 = ‘n-10’ No Si Soluciones de problemas 163 será el siguiente: • H = 1 cuando M1M0 = ‘00’ • M = 1 cuando M1M0 = ‘30’ • C = 1 cuando M1 = ‘1’ ó ‘4’ y M0 = ‘5’ En este caso también podríamos haber hallado un diagrama de flujo, pero es más intuitivo verlo de esta manera. Luego, debemos realizar las comparaciones y unir los resultados a través de las operaciones lógi- cas: A<B A=B A>B a<b a=b a>b 5 5 A B 0 1 0 D1 44 4 4 ∑ S/R 5 5 A B 0 1 0 D1 44 4 4 5 ‘10’ n 1 n ‘10’ 0 1 0 ‘0’ ‘1’ A<B A=B A>B a<b a=b a>b 4 A B4 0 1 0 A<B A=B A>B a<b a=b a>b 4 A B4 0 1 0 A<B A=B A>B a<b a=b a>b 4 A B4 0 1 0 A<B A=B A>B a<b a=b a>b 4 A B4 0 1 0 A<B A=B A>B a<b a=b a>b 4 A B4 0 1 0 A<B A=B A>B a<b a=b a>b 4 A B4 0 1 0 M0 ‘0’ M0 ‘5’ M1 ‘0’ M1 ‘3’ ‘4’ M1 M1 ‘1’ H M C Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática164 Problemas del Tema 6 6.1. Realizar los diseños de los problemas del Tema 4 mediante dispositivos PROM, PAL y PLA. De forma general, la implementación en estos tres dispositivos siguen las siguientes caracteríticas: • Memorias ROM.- Debido al decodificador interno de dicha memoria, hay que suministrar los min- términos para los que la función toma el valor ‘1’. • Dispositivos PAL.- Debido a que las diferentes salidas no comparten ningún término producto, hay que suministrar la suma de productos mínima monosalida (todas las salidas se toman indepen- dientemente. Si hay algún término común, hay que implementarlo tantas veces como en salidas esté presente). • Dispositivos PLA.- Debido a que todas las sali- das pueden compartir todoslos términos produc- tos, hay que suministrar la suma de productos mínima multisalida. Ejercicio 4.1. La obtención de las fórmulas se lleva a cabo de la misma forma que en el tema 4. Por lo tanto, partiremos ya de estas fórmulas. A partir de latabla obtenida en el tema 4, podemos obtener la suma de mintérminos, y la fórmula mínima en suma de productos: • F = ∑ m (3,4,5,6,7) --> PROM F = A + BC --> PAL F = A + BC --> PLA Por lo tanto, los dispositivos tendrán las siguientes restricciones mínimas: • ROM: 3 entradas y 1 salida • PAL: 3 entradas, 1 salida y 2 términos AND • PLA: 3 entradas, 1 salida y 2 términos AND 0 1 2 3 4 5 6 7 4 2 1 F A B C A B C F A B C F PROM PAL PLA Soluciones de problemas 165 Ejercicio 4.5 • F1 = m0 + m4 + m5 --> PROM F1 = x1*x2’ + x2’*x3’ --> PAL F1 = x1*x2’ + x2’*x3’ --> PLA • F2 = m0 + m2 + m3 + m4 + m5 --> PROM F2 = x1*x2’ + x1’*x2 + x2’*x3’ --> PAL F2 = x1*x2’ + x1’*x2 + x2’*x3’ --> PLA • F3 = m0 + m1 + m2 --> PROM F3 = x1’*x2’ + x1’*x3’ --> PAL F3 = x1’*x2’ + x1’*x3’ --> PLA Por lo tanto, los dispositivos tendrán las siguientes restricciones mínimas: • ROM: 3 entradas y 3salida • PAL: 3 entradas, 3 salida y 9 términos AND • PLA: 3 entradas, 3 salida y 5 términos AND 0 1 2 3 4 5 6 7 4 2 1 F2 A B C x1 x2 x3 F1 PROM PAL F1 F3 F3 F3 x1 x2 x3 F1 PLA F2 F3 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática166 Problemas del Tema 7 7.1. Determinar la función lógica de los siguientes circuitos y realizarla mediante la lógica CMOS. La tecnología en la que están construidas estas puer- tas es una tecnología NMOS. En ésta, existen transis- tores NMOS y un bloque de carga, formado por una resistencia en el caso qu nos ocupa. La función lógica de estas puertas es tal que la conexión en serie equi- vale a una operación AND, y la conexión en paralelo equivale a una operación OR, estando la salida com- plementada. A B A’ B’ C’ B’ B A B A’ B’ A B C A A’ C B’ A C B’ B A A’ C’ B’ A F = AB + A’B’ A B A’ B’ A B A’ B’ B A A’B’ A B C F = A + BC A B C A B C Soluciones de problemas 167 7.2. Determinar la función lógica de: Estamos ante una tecnología TTL con salida en totem- pole. En esta tecnología (TTL), los transistores mul- tiemisores producen la operación AND de sus entradas, y los transistores multiemisores en paralelo producen la operación OR de los productos. Y al igual que la mayoría de las familias, la salida está negada. B A C A’ B C A’ B C A’ F = B + A’C Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática168 7.3. Realizar el diseño mínimo de la función f = ∑ m(0,1,2,5,7) en una familia lógica CMOS. En dicha familia, no se pueden colocar más de 2 transistores en serie de cada tipo. En primer lugar debemos obtener la fórmula mínima que realiza dicha función lógica. Como es una función con una sola salida, aplicaremos el método de Karnaugh. Como llegamos hasta el mintérmino 7, la función ten- drá tres variables de entrada Se nos ha impuesto la restricción de que solamente podemos conectar un máximo de dos transistores en serie de cada tipo, por lo que sólo podremos implemen- tar en una puerta funciones de dos entradas. Así que haremos una puerta OR de dos productos, y su resultado se le sumará al restante. Para reducir el número de transistores, hemos sacado factor común a x1’ en los dos primeros productos. debemos notar la presencia de los inversores en la salida de cada puerta ya que las salidas son negadas. Para eliminar estos inversores, bastaría con imple- mentar las funciones negadas de cada puerta. 7.4. Repetir el problema 7.3 para una familia TTL en la que no pueden generar transistores multi-emisores con más de 2 emisores. 7.5. Repetir el problema 7.3 para una familia ECL. En estas familias sólo podemos implementar términos sumas (negados y sin negar). Por lo tanto, una solu- ción sería pasar los términos productos a términos sumas complementados; quedando la función: F = (x1 + x2) + (x1 + x3) + (x1’ + x3’) Con esta solución necesitaríamos cuatro puertas dife- 1 1 1 0 0 0 1 1 00 01 11 10 0 1 x3 x1 x2 F(x1, x2, x3) = x1’x2’ + x1’x3’ + x1x3 x1’ x2’ x3’ x1’ x3’ x2’ x1 x3 x1x3 F Soluciones de problemas 169 rentes, al tener cuatro sumas. Veamos si colocando la función como suma de productos, reducimos el número de transistores. Eligiendo esta solución, observamos que solamente necesitaremos dos puertas, así que implementaremos esta última. 1 1 1 0 0 0 1 1 00 01 11 10 0 1 x3 x1 x2 F(x1, x2, x3) = (x1+x2’+x3’)(x1’+x3) F(x1, x2, x3) = (x1+x2’+x3’) + (x1’+x3) x1’ x3 x2’ x3’x1 Soluciones de problemas 170 ElectronicaDigital_Apuntes_Problemas/Tema1_Introduccion_Electronica_Digital.pdf TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGIT AL 1. Electrónica Digital Antesdeempezarenel temaencuestión,vamosa darunaposibledefinicióndela disci- plina quevamosa tratar, asícomosuámbitodeacción.UnaposibledefinicióndeElectrónica puedeser la cienciaqueestudialos fenómenosrelacionadosconel transportedecarga eléc- trica enmediosmaterialesjuntoconla construccióndedispositivos,circuitosy sistemasbasa- dos en ellos. Esta ciencia se divide en dos grandes ramas: Analógica y Digital. La ElectrónicaAnalógicaes la partede la Electrónicaquetrabajacon variablesconti- nuasdetal formaqueunpequeñocambioenalgunavariablepuedeproducirungrancambioen el comportamientodelcircuito.Porlo tanto,lasvariablesseránnúmerosreales.Un ejemplode estos circuitos puede ser un amplificador de señal. La ElectrónicaDigital es la partede la Electrónicaquetrabajacon variablesdiscretas. Estehechoimplicaqueunpequeñocambioenalgunadelasvariablesdelcircuito (siempreque no cambiesuvalor discreto)no produciráun cambioapreciableenel comportamientodel cir- cuito. Es decir, el comportamiento del circuito no depende del valor exacto de la señal. Un mismocircuito electrónico,dependiendode la zonadeoperaciónqueinterese,tiene su operaciónanalógicay digital. Por ejemplo,en la figura 1.1 mostramosla forma de opera- cióndeunsistemaelectrónicotípico.Enestaformadeoperación,podemosobservarqueenlos extremosapenasexisteuncambioenla señaldesalidaindependientementedela magnituddel cambioenla señaldeentrada;estassonlaszonasquele interesana la ramadigital dela Elec- trónica,ya que sin conocerel valor exacto de la señalde entradapodemosdar un valor de salida.Encambio,la partecentralseproduceel casocontrario,esdecir, paraunpequeñocam- bio dela señaldeentradaexisteun grancambioenla señaldesalida;estaesla zonadondese interesala ramaanalógicadela Electrónica,ya quedebemosconocerexactamenteel valor de la señal de entrada (su valor continuo) para poder dar un valor a la señal de salida. Unavez llegadosa estepunto,nospreguntamospor quéestudiarlos circuitosdigitales. La razónbásicaradicaen el aumentode fiabilidad en el procesamientoy transmisiónde la información ya que una pequeñadegradaciónde la señalno influirá en su valor (o en su influenciacomoentradaen un circuito digital). A estemotivo sele puedenañadirotrosmás, comopuedenser:sedisponedeun soportematemáticoadecuado,comosonlasálgebrasdis- cretas;existen tecnologíasde fabricaciónadecuadas;contamoscon una amplia distribución comercial debido a su amplias aplicaciones en múltiples campos, etc. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática2 Dentro de los circuitos digitales,existe una división en dos grandesgrupos:circuitos combinacionalesy circuitossecuenciales.Loscircuitoscombinacionalessecaracterizanporel hechodequelassalidasúnicamentedependendela combinacióndeentradasy no dela histo- ria anteriordel circuito; por lo tanto,no tienenmemoriay el ordendela secuenciadeentradas no essignificativo. Los circuitossecuencialessecaracterizanpor el hechode quelas salidas dependendela historiaanteriordel circuito ademásdela combinacióndeentradas;por lo que estoscircuitossí disponende memoriay el ordende la secuenciade entradassí essignifica- tivo. 2. Representación Numérica Debidoal carácterdiscretay a los componentesutilizadosenElectrónicaDigital (en la actualidad,dispositivoscomotransistoresy diodos),nosevaaemplearel sistemadecimalsino el sistemabinario.Por lo tanto,esnecesariointroducirnosenla teoríadelos sistemasnuméri- cos, con vistas a su aplicación a la conversión entre los principales sistemas. En cualquiersistemanumérico,sedefinela baseo raízcomoel número máximodedígi- tosdisponiblesendichosistema. Así, lossistemasnuméricosmásimportantessonlossiguien- tes: • Sistema decimal o de base 10, que consta de diez dígitos: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. • Sistema binario o de base 2, que consta de dos dígitos: {0, 1}. • Sistema octal o de base 8, que consta de ocho dígitos: {0, 1, 2, 3, 4, 5, 6, 7}. • Sistemahexadecimalo debase16,queconstadedieciséisdígitos:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}. Figura 1.1.- Diferencia existente entre Electrónica Analógica y Electrónica Digital. Salida Entrada Ámbito analógico Ámbito digital TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 3 La notaciónposicionalde un númeroesla colocaciónde los dígitosdel sistemanumé- rico, al quepertenece,unodetrásdeotro.El valornuméricocorrespondienteaunnumeroN en un sistema de base b es: Dondepi esel dígito correspondienteendichosistema,verificandoque0 <= pi <= b-1.Estoes debido a que p0 es el resto de la división de N entre b. Por ejemplo: (123.2)10= 1*10 2 + 2*101 + 3*100 + 2*10-1 (1211.1)3 = 1*3 3+ 2*32 + 1*31 + 1*30 + 1*3-1 (F02.1)16 = 15*16 2 + 0*161 + 2*160 + 1*16-1 Comoya hemosmencionado,los sistemasnuméricosmásimportantessonlos sistemas decimal,binario,octaly hexadecimal.El sistemadecimalesel empleadoenla vida cotidiana. El sistemabinarioesel sistemaqueemplearemosenElectrónicaDigital, ya quetrataremosla mayoríadelos elementoscomointerruptores,esdecir, condosestados:encendido(permiteel pasodela información,estado‘1’) o apagado(nopermitedichopaso,estado‘0’). No obstante como(100)10 = (1100100)2, observamosquesenecesitaun númerorelativamentegrandede dígitosbinariosparaexpresarun númerodecimalrelativamentepequeño.Por lo tanto,apare- cieronlos sistemasoctal y hexadecimalparadisminuir estenúmerode dígitossin demasiada complicaciónpuestoquesuconversiónabinarioy viceversaesmuydirectacomoyaveremos. 2.1. Conversiones entre sistemas n uméricos. Paratrabajarcon variossistemasnuméricos,comopor ejemploel sistemadecimaly el binariodebemossercapacesdeconvertir númerosdeunabasea otra.Existendosmétodosde conversión de base: polinómico e iterativo. El métodopolinómicoconsisteenexpresarel númerodela basefuentecomoun polino- mio y evaluarlo según la aritmética de la base destino. Por ejemplo: (1011)2 = 1*2 3+ 0*22 + 1*21 + 1*20 = (11)10 Estemétodotieneel problemadequesi la basedestinono esla decimal,tendremosqueusar unaaritméticadiferentea la quenormalmenteutilizamos.Por lo tanto,estemétodosueleser usado para convertir números a un sistema decimal. El métodoiterativo consisteen ir dividiendoel número(usandola aritméticade la base fuente)por la basedestinode tal forma quelos restosnosirán dandolos dígitosen la nueva base, siendo el más significativo el último dígito obtenido. (p3*b 3 + p2*b 2 + p1*b 1 + p0*b 0)/b = p3*b 2 + p2*b 1 + p1*b 0 + p0/b Resto: p0 N( )b pnb n pn 1– b n 1– … p0b 0 p 1– b 1– p m– b m– + + + + + + pib i i m–= n ∑= = Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática4 Cociente: p3*b 2 + p2*b 1 + p1*b 0 Esdecir, cuandoserealizala primeradivisión,el restoquenosquedaesel dígitomenossigni- ficativo enla nuevabasey el cocienteesel númerorestante.Esteprocesoserepitehastaqueel cociente sea 0. Por ejemplo: Hastaahora,sólohemostenidoencuentala parteenteradelos números.Conel método polinómico,la partefraccionalsetrataigual quela parteenterapermitiendoquelos exponen- tesdela baseseannegativos.Estonuncanosdaráunnúmeromayorqueunoyaquelosdígitos son menores que la base. Por ejemplo: (0.101)2 = 1*2 -1 + 0*2-2 + 1*2-3 = (0.625)10 Con el métodoiterativo, la parte fraccional debeevaluarsepor separadode la parte entera.La parte fraccional se multiplica por la base,la parte enteracorrespondeal nuevo dígito, mientras que se vuelve a iterar con la parte fraccional restante. Del mismomodoqueantes,vemosquesi realizamosla multiplicaciónenun polinomio genérico obtenemos dicho resultado. (p-1*b -1 + p-2*b -2 + p-3*b -3) * b = p-1 + p-2*b -1 + p-3*b -2 Parte entera: p-1 Parte fraccional: p-2*b -1 + p-3*b -2 Enesteúltimo caso,comoyahemosvisto, la aritméticaempleadaesla dela basefuente, por lo quesesueleutilizar parala conversióndenúmerosdecimalesacualquierotrabase.Ade- más,comosucedeen cualquiersistemanumérico,podemosencontrarnúmeroscon infinitos dígitos“decimales”.A continuación,ilustramosun ejemplodeconversióndeun númerofrac- cionario decimal a binario: Debidoaquelasbasesoctalesy hexadecimalessonpotenciadedos(16= 24 y 8 = 23), la conversiónentreestossistemasy el binarioesmuysencilla.Fijémonosenel valornuméricode números binarios, octales y hexadecimales genéricos: 11 2 1 5 2 1 2 2 0 1 2 1 0 p0 p1 p2 p3 0.625 * 2 = 1.250 0.250 * 2 = 0.500 0.500 * 2 = 1.000 0.000 * 2 = 0.000 TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 5 b6*2 6 + b5*2 5 + b4*2 4 + b3*2 3 + b2*2 2 + b1*2 1 + b0*2 0 O2*8 2 + O1*8 1 + O0*8 0 H1*16 1 + H0*16 0 Por ser las basesoctalesy hexadecimalespotenciasde dos,en el númerobinario podemos agrupar los dígitos en función de estas potencias: (b6*2 0)*82 + (b5*2 2 + b4*2 1 + b3*2 0)*81 + (b2*2 2 + b1*2 1 + b0*2 0)*80 (b6*2 2 + b5*2 1 + b4*2 0)*161 + (b3*2 3 + b2*2 2 + b1*2 1 + b0*2 0)*160 Al compararlasdosúltimasexpresionesconlasexpresionesgenéricasdelos númerosoctales y hexadecimales, podemos obtener las siguientes igualdades: O2 = b6*2 0 O1 = b5*2 2 + b4*2 1 + b3*2 0 O0 = b2*2 2 + b1*2 1 + b0*2 0 H1 = b6*2 2 + b5*2 1 + b4*2 0 H0 = b3*2 4 + b2*2 2 + b1*2 1 + b0*2 0 Porlo tanto,podemosrealizarla conversióndígitoadígito,y no tenerquetratarconel número completo.Luego cadadígito octal (hexadecimal)serásustituidopor gruposde tres (cuatro) dígitosbinariosconel mismovalornumérico.Enel casodela conversióndesdebinarioaoctal (hexadecimal)consisteen la conversión en gruposde tres (cuatro) dígitos (si faltan a la izquierda dígitos para completar algún grupo, se le añaden 0’s). Por ejemplo: 11 2 1 5 2 1 2 2 0 1 2 1 0 11 8 3 1 8 1 0 11 8 B 0 1 0 1 1 3 00 1 1 0 1 1 B 7160 111 001 110 000 A04 1010 0000 0100 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática6 3. Códigos Binarios A partirdeahora(salvo queseindiquelo contrario)vamosatrabajarconel sistemabina- rio, cuyosdígitossedenominanbits. Una vez visto comopodemospasarde unabasea otra, nosfaltadeterminarla relaciónbiunívocaexistenteentrela informacióny la palabradecódigo por la queserárepresentada.Estarelaciónvienedadaporel código.Comoel sistemanumérico conel quetrabajamoshabitualmenteesel sistemadecimal,la mayoríadeloscódigosquevere- mosseráncódigosBCD (decimalcodificadoen binario).Estoscódigosnecesitancuatrobits por cadadígito decimalya que23 < 10 < 24. Así, el códigoBCD naturalesaquelquerepre- senta cada dígito decimal por su expresión polinómica. Dentrodelos códigos,podemosencontrara un grupocuyovalor sepuedeobtenera tra- vés de un polinomio con los dígitos de dicho código a través de un producto escalar. dondeel vector(w3w2w1w0) esconocidocomovectorpesoy el (c3c2c1c0). Los códigosque muestranestacaracterísticase denominancódigospesadoso con peso. El casodel código BCD naturalseencuentradentrodel grupodelos códigosconpesoya quecadabit seencuen- tra multiplicadopor un peso(8,4,2,1).Otrosejemplosdecódigosconpesosonlos quetienen comopeso(8,4,-2, -1) y (2,4,2,1).Un ejemplodecódigonopesadoesel códigodeexcesoa3. Estecódigoseobtienecomoel códigobinariodel resultadode la sumadel dígito encuestión con el número tres. Estos códigos los podemos ver en la siguiente tabla. Exceptoel códigoBCD natural,los otrostrestienenla propiedadde serautocomplementa- rios, esdecir, si complementamos(cambiar1’s por 0’s y viceversa)la palabrabit a bit, obten- dremos la palabra correspondiente al dígito 9-d. En algunosdispositivos esútil quelas palabrascorrespondientesa valorespróximosse diferencienpocoparaqueel posibleerrorenla transmisiónno engañedemasiadoel resultado final. Porejemplo,si pasamosde7 (0111)a 8 (1000)y seproduceun fallo enel último bit, de tal forma que no se producesu transición,el resultadoobtenidoseríade 0000 (0). Así, se definela distancia de Hamming comoel número de bits quedifieren entre dospalabras de código; y sedefineun códigodedistancian comoaquelcuyadistanciadepalabrasconsecuti- Dígito Decimal BCD natural Exceso a 3 8 4 2 1 8 4 -2 -1 2 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 1 0 1 0 0 2 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 1 3 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 0 4 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1 5 0 1 0 1 1 0 1 1 1 0 1 1 1 0 0 0 6 0 1 1 0 1 0 1 0 1 1 0 0 1 0 0 1 7 0 1 1 1 1 0 0 1 1 1 0 1 1 0 1 0 8 1 0 0 0 1 0 0 0 1 1 1 0 1 0 1 1 9 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 Tabla 1.1. Ejemplos de códigos binarios. Valor w3c3 w2c2 w1c1 w0c0+ + += TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 7 vas es n. Estoscódigosse puedenclasificaren: códigoscerrados,cuandola última palabra tieneunadistancian con respectoa la primera;y códigosabiertos,cuandola última palabra tieneunadistanciadiferentea n con respectoa la primerapalabra.Un ejemplode códigode distanciaunidadcerradoesel códigodeGray, quesecaracterizaconunafácil implementación a partir del código binario. 3.1. Códigos detectores de err or. A la hora de utilizar diferentescódigos,podemosencontrardiversosmotivos, como puedeserevitar quela informacióncaigaenmanosnodeseadas.No obstante,otromotivo más prácticoconsisteenenviar informaciónsobrela existenciadeposiblesfallosenla transmisión. Existen códigosque incluyen información para poder detectary/o corregir estosposibles fallos. Unavez llegadosa estepunto,nosdeberemospreguntarsobrecuántosbits considerare- moslos fallos.En principio, seríalógico pensarqueconsideraríamoslos fallosdetransmisión en todoslos bits; peroestasituaciónseríaexcesivamentecostosa.Luego nosfijaremosen las probabilidadesque existen de que ocurranerroressegún el númerode bits erróneos.Según estosestudios,la probabilidadcaeexcesivamentecuandolos fallosocurrenendoso másbits; por lo tanto, sólo tendremos en cuenta fallos en un solo bit. Paraqueseafactible la detecciónde fallos, sedebegarantizarque la palabraobtenida trasel fallo no pertenezcaal códigoen cuestión.Si hablamosen términosde la distanciade Hamming,la palabracorrectay la erróneatienenunadistanciaigual a “1”. Luego unacondi- ción necesariay suficienteseráquetodaslaspalabrasdel códigotenganunadistanciamínima de dos entre todas ellas. Así, podemos comprobar la siguiente afirmación: Cualquiercódigodedeteccióndefallo enunsolobit debeteneral menosunadistan- cia de dos entre cualesquiera dos palabra de código. Laspalabrasconunadistanciamínimadedossepuedenusarcomocódigosdedetec- cióndeerror enunbit, y asípoderutilizarlas comochequeadorasdel canaldetrans- misión. Al tenerunadistanciamínimadedos,entredospalabrascorrectassiemprehabráunacombina- cióndebits (quecorresponderáa lasposiblespalabraserróneas)lascualesnoseránningunade Dígito Decimal Binario natural Código Gray b3 b2 b1 b0 g3 g2 g1 g0 0 0 0 0 0 0 0 0 0 gi = 0<=> bi = bi+1 1 0 0 0 1 0 0 0 1 2 0 0 1 0 0 0 1 1 3 0 0 1 1 0 0 1 0 4 0 1 0 0 0 1 1 0 5 0 1 0 1 0 1 1 1 6 0 1 1 0 0 1 0 1 7 0 1 1 1 0 1 0 0 8 1 0 0 0 1 1 0 0 9 1 0 0 1 1 1 0 1 Tabla 1.2. Generación del código Gray a partir del código binario natural. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática8 nuestraspalabrasdecódigo.Por lo tanto,cuandoseproduceun fallo enun solobit, la combi- nación obtenida será alguna de las que no pertenecen al código pudiendo detectar el fallo. Los códigosque solamentedetectanla existenciade un fallo se denominancódigos detectoresdeerrores.Dosdeloscódigosquepuededetectarerroressonloscódigos“2-out-of- 5” y biquinario. El código2-out-of-5tienela peculiaridaddequetienetodaslascombinacionesdecinco bits quetienendos1’s entretodossusbits. Por lo tanto,unaformadedetectarerroresserála comprobacióndequeúnicamenteexistandos1’s. De estaforma,un errorenun bit nosapor- taráunapalabracontres1’s o ningún1. La detecciónno sedaparafallosenmásbits por dos razones: • Fallosenun númeropardebits puedeproducirunapalabracondos1’s, considerada correcta. • Fallos en un númeroimpar de bits puedeproducirel mismocomportamientoqueel fallo en un solo bit, no pudiendo saber en cuántos bits se ha producido el fallo. El códigobiquinariomuestraun aspectosimilar al anterior, esdecir, todassuspalabras contienendos1’s entodossusbits,peroa diferenciadel primerono contienetodaslascombi- nacionesdedos1’s entodossusbits,no obstanteexisteunarelaciónquesóloescumplidapor las palabrascorrectasdel código.Así la detecciónde un fallo se realizacomprobandoque existaun1 enlosdosprimerosbits,y otro1 enloscincorestantes.Al igualqueel anteriorsólo seconsiderafallosenun solobit por razonessimilares.Podemoscomprobar, queestecódigo es pesado, propiedad que no comparte con el anterior. No obstante,la técnicamásempleadaesla adicióndeun nuevo bit, denominadobit de paridad,a cualquiercódigo.Estebit informarási el númerode1’s de la palabraespar(bit de paridada 0) o impar(bit deparidada 1). Porlo tanto,si seproduceun fallo enun bit, la infor- mación de la paridad será errónea. distancia n n+1 n+2 n+3 n+4 n+5 n+6 n+7 n+8 Palabra Palabra Palabra Palabra Palabra Fallo en un solo bit Figura1.2.-Comportamientodeuncódigodetectordefallosenunsolobit antela existencia de un fallo en un bit. TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 9 3.2. Códigos correctores de err ores. Unavezquehemosvisto comosepuedendetectarerroresen la transmisióndela infor- mación,debemospasaravercomopodemosdeterminarcuáldelosbitsesel quehaproducido el error. Estos códigos se denominan códigos correctores de error. Enel casodecorrección,tenemosqueconseguir quela palabraerróneaseencuentremás cerca(enel sentidodela distanciadeHamming),o lo queeslo mismo,tenga menosbits dife- rentesconrespectoa unasolapalabradel código.Conestecriterio decercanía,podemosase- gurarcuálesla palabraquesehaqueridotransmitir(conmayorprobabilidad),y por lo tanto, saber cuál ha sido el bit que ha producido el error. Por lo tanto,la distanciamínimaquetienequetenertodaslas palabrasde códigoentresí es igual a tres. Dígito decimal 2-out-of-5 Biquinario Binario con paridad 5 0 4 3 2 1 0 b3 b2 b1 b0 p 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 2 0 0 1 1 0 0 1 0 0 1 0 0 0 0 1 0 1 3 0 1 0 0 1 0 1 0 1 0 0 0 0 0 1 1 0 4 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 1 5 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 1 0 6 1 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 7 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 8 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 1 9 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 Tabla 1.3. Ejemplos de códigos detectores de errores en un solo bit. distancia n n+1 n+2 n+3 n+4 n+5 n+6 n+7 n+8 Palabra Palabra Palabra Fallo en un solo bit Figura 1.3.- Comportamiento de un código corrector de fallos en un solo bit ante la existen- cia de un fallo en un bit. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática10 Así, podemosdarunacondiciónnecesariay suficienteparaqueun códigoseacorrector en un solo bit: La condiciónnecesariay suficientepara quecualquierconjuntodepalabrasbinarias seaun códigocorrectordeun error enun solobit, esquela distanciamínimaentre ellas sea de tres. Paralograrestametasehacenecesarioañadirmásbits (no essuficienteconun solobit de paridad),por lo queen la palabrapodemosdiferenciarbits de mensaje(sonlos quereal- mentellevan la informaciónútil) y bits de chequeo(son los que llevan la informaciónpara corregir losposiblesfallos).Estosbitsdechequeosuelenser, por lo general,bitsdeparidadde undeterminadosubconjuntodebitsdemensaje.Paraqueselogreestecometido,unfallo enun bit demensajedebeproducirunacontradicciónenmásdeun bit dechequeo,mientrasqueun fallo enun bit dechequeosólodebeproducirunacontradicciónendichobit (bits dechequeo independientesexplícitamente).Un ejemplode estoscódigosconstade tresbits de chequeo (C1, C2 y C4) y cuatro bits de mensaje (M3, M5, M6 y M7), mostrado en la tabla 1.4. Unavezquedisponemosdeuncódigocorrector, tenemosqueobtenercuálessonlosbits demensajecuyaparidadesalmacenadaencadabit dechequeo.Unaformasencilladeobtener estainformaciónconsisteen considerartodaslas palabrasquetengan un solo 1 en todoslos bitsdemensaje;por lo quelosbitsdechequeoquetomenel valor1, “verán”aestebit demen- saje.Porejemplo,consideremosla palabra“1” quesólotieneun 1 enel bit M7. En estecaso, todoslos bits de chequeotienenel valor 1, por lo quetodosellos chequearána dicho bit de mensaje. Si repetimos este proceso tantas veces como sea necesaria, obtenemos que: • C1 es la paridad de M3, M5 y M7 • C2 es la paridad de M3, M6 y M7 • C4 es la paridad de M5, M6 y M7 Veamosahoracomosedetectael bit dondesehaproducidoun fallo. No podemosolvidar que estamosantesituacionesdeerroresenun solobit; asíquesi detectamosun fallo endosbits de chequeo,el fallo deberáestarenel únicobit demensajecomúna dichosbits dechequeo.Por lo tanto: • Si existe un fallo en M3, se detecta en C1 y C2 • Si existe un fallo en M5, se detecta en C1 y C4 Dígito decimal C1 C2 M3 C4 M5 M6 M7 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 2 0 1 0 1 0 1 0 3 1 0 0 0 0 1 1 4 1 0 0 1 1 0 0 5 0 1 0 0 1 0 1 6 1 1 0 0 1 1 0 7 0 0 0 1 1 1 1 8 1 1 1 0 0 0 0 9 0 0 1 1 0 0 1 Tabla 1.4. Ejemplo de código corrector de error en un solo bit. TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 11 • Si existe un fallo en M6, se detecta en C2 y C4 • Si existe un fallo en M7, se detecta en C1, C2 y C4 • Si existe un fallo en C1, se detecta en C1 • Si existe un fallo en C2, se detecta en C2 • Si existe un fallo en C4, se detecta en C4 Parapoderobtenerel númerodebits dechequeoparacrearun códigocorrectordeerro- resenun solobit, severificaquek+m<=2k-1; dondek esel númerodebits dechequeoy m es el númerode bits de mensaje.El hechode 2k-1 radicaen queel númerode bits de chequeo debesertal quetenga tantascombinacionescomoposibilidadesdefallos,eliminandola posi- bilidad de la no existencia de fallo. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática12 ElectronicaDigital_Apuntes_Problemas/Tema2_Algebra_Conmutacion.pdf TEMA II: ÁLGEBRA DE CONMUT ACIÓN En estecapítuloveremoslos métodosmatemáticosquesedisponenparalasoperaciones relacionadascon los circuitosdigitales,asícomo las funcionesmásbásicasde la aritmética binaria. 1. Definición de Álg ebra de Boole . Postulados. Sedefinecomoálgebra de Boolea un sistemamatemáticoconun conjuntodeelemen- tosB y dosoperacionesbinariascerradas(·) y (+) siemprey cuandosecumplanlos siguientes postulados: • P1.- las operaciones tienen la propiedad conmutativa. a+b = b+a a·b = b·a • P2.- las operaciones son distributivas entre sí a·(b+c) = a·b + a·c a+(b·c) = (a+b)·(a+c) • P3.-lasoperacionestienenelementosidentidaddiferentesdentrodeB. Estoselemen- tos son definidos como 0 para (+) y 1 para (·). a+0 = a a·1 = a • P4.-paracadaelemento,a,del conjuntoB, existeotroelementodenominadocomple- mento,a también del conjunto B, tal que se cumple: a+a = 1 a·a = 0 Comopodemosver, encualquierálgebrabooleanasecumpleel principio dedualidad: Cualquier teorema o identidad algebraica deducible de los postulados anteriores puede transformarse en un segundo teorema o identidad válida sin mas que intercambiar las operaciones binarias y los elementos identidad. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática14 Como en cualquier álgebra, podemos disponer de constantes y de variables. Así, una constante se define como cualquier elemento del con- junto B. Mientras que una variable es un símbolo que representa un elemento arbitrario del álgebra, ya sea una constante o una fórmula algebraica completa. 2. Teoremas del Álg ebra de Boole . En cualquier álgebra de Boole se pueden demostrar los siguientes teoremas: Teorema2.1.-El elementoadel4ºpostulado(denominadocomplementoo negacióndea)está unívocamente determinado, es decir, es único. Demostración.- Supongamos que existen dos complementos de a:a1 y a2. a2 = a2·1 =a2·(a+a1) = a2·a +a2·a1 = a·a1 + a2·a1 = (a +a2)·a1 = a1 Teorema 2.2.- (o Teorema de elementos nulos) Para cada cualquier elemento a, se verifica a+1 = 1 y a·0 = 0 Demostración.- a+1 = 1·(a+1) = (a+a’)·(a+1) = a + a’·1 = a + a’ = 1 a·0 = a·0+0 = a·0 + a·a’ = a·(a’+0) = a·a’ = 0 Teorema2.3.-Cadaunodeloselementosidentidadesel complementodelotro,esdecir, 1’ = 0 y 0’ = 1 Demostración.- Si fuese cierto, deberían cumplir el cuarto postulado del álgebra: 1 = 0 + 0’ 0 = 0 · 0’ Por ser único l complemento: 0’ = 1 1 = 1 + 1’ 0 = 1 · 1’ Por ser único el complemento: 1’ = 0 Teorema 2.4.- (o Teorema de idempotencia) Para cada elemento a, se verifica: a + a = a a · a = a Demostración.- a + a = a + a · 1 = a + a · (a + a’) = a + a · a + a · a’ = a · (1 + a) = a · 1 = a a · a = a · a + 0 = a · a + a · a’ = a·(a + a’) = a·1 = a Teorema2.5.- (o Teoremade involución)Paracadaelementodea, severificaqueel comple- mento del complemento de a es a, es decir, (a’)’ = a Demostración.- TEMA II: ÁLGEBRA DE CONMUTACIÓN 15 a’ + (a’)’ = 1 = a + a’ = a’ + a−> a = (a’)’ a’ · (a’)’ = 0 = a · a’ = a’ · a−> a = (a’)’ Teorema 2.6.- (o Teorema de absorción) Para cada par de elementos, a y b, se verifica: a + a · b = a a · (a + b) = a Demostración.- a + a · b = a · 1 + a · b = a · (1 + b) = a · 1 = a a·(a + b) = (a + 0) · (a + b) = a + 0 · b = a Teorema 2.7.- Para cada par de elementos, a y b, se verifica: a + a’ · b = a + b a · (a’ + b) = a · b Demostración.- a + a’ · b = (a + a’)·(a + b) = 1·(a + b) = a + b a · (a’ + b) = a · a’ + a · b = a · b Teorema 2.8.- (o Leyes de DeMorgan) Para cada par de elementos, a y b, se verifica (a + b)’ = a’ · b’ (a · b)’ = a’ + b’ Demostración.- Se comprobará si se satisface el cuarto postulado a + b + (a + b)’ = a + b + a’ · b’ = a + a’ · b’ + b + b’ · a’ = = a + b’ + b + a’ = a + a’ + b + b’ = 1 + 1 = 1 (a + b) · (a’ · b’) = a · a’ · b’ + b · b’ · a’ = b’ · 0 + 0 · a’ = 0 + 0 = 0 a · b + (a · b)’ = a · b + a’ + b’ = a · b + a’ + a · b + b’ = = a + a’ + b + b’ = 1 + 1 = 1 a · b · (a’ + b’) = a · a’ · b + a · b · b’ = 0 · b + a · 0 = 0 + 0 = 0 Teorema2.9.- (o LeyesdeDeMorgangeneralizadas)Paracualquierconjuntodeelementosse verifica: (X0 + X1 + … + Xn) = X0 · X1 · … ·Xn (X0 · X1 · … · Xn) = X0 + X1 + … +Xn Teorema2.10.- (o Teoremade asociatividad) Cadauno de los operadoresbinarios(+) y (·) cumplela propiedadasociativa, esdecir, paracadatreselementos,a, b y c, se verifica (a + b) + c = a + (b + c) (a · b) · c = a · (b · c) 3. Álg ebra de Conm utación. Hastaahorano hemospuestoningunarestricciónal conjuntodeelementosni a los ope- radoresbinarios(salvo los postuladosquedeberíancumplir). Si particularizamosparael caso Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática16 deloscircuitosdigitales,restringimosel conjuntodeelementosa losdosdígitosbinarios{0,1} y las operaciones binarias son las siguientes: Severifica queun álgebradefinidade la forma mostradaen la tabla2.1 setratade un álgebradeBoole.La demostracióndeestaafirmaciónserealizamediantela verificacióndelos cuatro postulados: • P1.- Se comprueba por simple inspección de la definición de las operaciones. • P2.- Se puede comprobar evaluando todas las combinaciones posibles. • P3.- Por inspección de los operadores se puede verificar. • P4.- Por definición del operador complemento. Un álgebraasí definidase denominaálgebrade conmutación.Los operadoresde esta álgebra reciben los siguientes nombres: • operador +−−> operador OR • operador ·−−> operador AND • operador ‘−−> operador NOT y los circuitoselectrónicosquerealizanestasoperacionessedenominanpuertas(OR, AND y NOT o inversor).Estaspuertastienenunossímbolosespeciales,loscualessonmostradosenla figura2.1.Éstossonlos símbolostradicionales;y aunqueexisteunasimbologíainternacional también mostrada, usaremos preferentemente estos símbolos: A B + · Negación 0 0 0 0 0 = 1 0 1 1 0 1 0 1 0 1 = 0 1 1 1 1 Tabla 2.1. Operaciones del álgebra de conmutación. A B C A·(B+C) A·B + A·C A + B·C (A + B)·(A+C) 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 Tabla 2.2. Demostración de la propiedad distributiva. A B A·B A+B 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 1 Tabla 2.3. Demostración de los elementos neutros. TEMA II: ÁLGEBRA DE CONMUTACIÓN 17 4. Funciones y Fórm ulas de Computación. Enprimerlugarvamosadefinir lasrelacionesexistentesentreloselementosdelálgebra, es decir, lo que se entiende por una función. Se define una función completa de un conjunto S en otro T como un subconjunto de SxT de forma que para cualquier elemento s que pertenezca a S, exista un solo elemento t de T, llamado valor de la función para s. Una funcióncompletatambiénesdenominadafuncionescompletamenteespecificadaso fun- ción deconmutación.Unaformaderepresentacióndelasfuncionesdeconmutaciónesla lla- mada tabla de combinaciones o tabla de verdad. Está formada por n+1 columnas:n columnasparalasvariablesdeentraday unaparael valordela función;y 2n filas (detodaslas combinacionesposiblesde las n entradas).Un ejemplode tablade combinaciones,parauna función de tres variables, sería la mostrada en la tabla 2.4: Las funcionesde conmutaciónsepuedenexpresarmediantefórmulaso expresionesde conmutación.Una fórmula o expresiónde conmutaciónde n variablesse definerecursiva- mente como: • Las constantes 1 y 0 son fórmulas de conmutación • La variables xi es una fórmula si se encuentra restringida al conjunto {0,1} • Si A es una fórmula, entoncesA también lo es X2 X1 X0 F(X2, X1, X0) 0 0 0 F(0, 0, 0) 0 0 1 F(0, 0, 1) 0 1 0 F(0, 1, 0) 0 1 1 F(0, 1, 1) 1 0 0 F(1, 0, 0) 1 0 1 F(1, 0, 1) 1 1 0 F(1, 1, 0) 1 1 1 F(1, 1, 1) Tabla 2.4. Ejemplo de tabla de verdad de una función lógica Puerta NOT o inversorPuerta ORPuerta AND Figura 2.1.- Símbolos tradicionales e internacionales de las puertas lógicas más básicas. & ≥1 1 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática18 • Si A y B sonfórmulasdeconmutación,entoncesel resultadodecualquieroperación binariadeellastambiénlo es.Esdecir, A+B y A·B tambiénsonfórmulasdeconmuta- ción • Nadamásesunafórmuladeconmutación,amenosquesesiganlos anteriorespuntos en un número finito Así, encontramos que son fórmulas de conmutación: x1·x2 + x3·x4 x1·(x2‘+ x3) (x1’ + x2)·(x3 +x4) Mientras que los siguientes ejemplos no son fórmulas de conmutación: x1·+ x3·x4 x1·(x2+’ x3) Comotodoslos postuladosy teoremasdel álgebrade conmutaciónfueron formulados mediantevariables(lascualespuedensertantoconstantescomoexpresionescompletas),éstos pueden ser aplicados a cualquier función o fórmula de conmutación. Teorema 2.11.- Cada fórmula de conmutación describe una única función de conmutación. Demostración.-De cadafórmula podemosobtenerunatablade combinacionesqueesúnica, evaluandola fórmula paratodaslas combinacionesposiblesde las variablesde entradas. Comouna función esbiunívocamenterepresentadapor una tablade combinaciones,si la última es única, la primera también lo será. Sedicequedosfórmulasdeconmutaciónsonequivalentes(A = B) si describenla misma funcióndeconmutación.Porejemplo,si consideramosla funciónmostradaenla tabla2.5, las siguientes fórmulas son equivalentes: F(X1, X2) = X2 F(X1, X2) = X1’X 2 + X1X2 F(X1, X2) = (X1+X2)(X1’+X 2) Comosepuedever, puedenexistir muchasfórmulasdeconmutaciónquedescribana la misma función de conmutación. Dentrodelasfórmulasdeconmutación,hayalgunasquesondeespecialinterés,lascua- les se definen a continuación: Se denomina término producto a la operación AND de un número dado de literales (variables o constantes). X1 X2 F(X1, X2) 0 0 0 0 1 1 1 0 1 1 1 0 Tabla 2.5. Ejemplo de función lógica. TEMA II: ÁLGEBRA DE CONMUTACIÓN 19 Se denomina término suma a la operación OR de un número dado de literales (variables o constantes). Se define fórmula normal disyuntiva a la expresión de la función como suma de términos productos, o se dice que se encuentra expresada en forma normal disyuntiva. Se define fórmula normal conjuntiva a la expresión de la función como producto de términos suma, o se dice que se encuentra expresada en forma normal conjuntiva. Por ejemplo: • Fórmula normal disyuntiva −−> F(X0, X1, X2) = X1’·X 2 + X1·X2 • Fórmula normal conjuntiva −−> F(X0, X1, X2) = (X1’ + X2)·(X1 +X2) Se define mintérmino al término producto en el que apare- cen todas las variables una y una sola vez, ya sea comple- mentada o sin complementar; por lo tanto, un mintérmino es un caso especial de término producto. Por ejemplo, X1’·X2 es un mintérmino denominado m1. A la fórmula normal disyuntiva en el que todos los térmi- nos productos que aparecen son mintérminos, se le deno- mina fórmula canónica disyuntiva. Se verifican los siguientes teoremas: Teorema2.12.- Dadala lista completade mintérminosde n variables,asignandoarbitraria- mente1’s y 0’s a cadavariable,severificaqueun únicomintérminotomaráel valor 1. Demostración.-Paraquedoso másmintérminostomasenel valor 1 conunasolacombinación delasvariablesdeentrada,sedebecumplirquedichosmintérminosnoseveaninfluidospor algunavariable,quesetraduceen la inexistenciadedichavariableenel mintérmino.Pero dicha afirmación,contradicela definición de mintérminoen la debenaparecertodaslas variables de la función. Teorema 2.13.- La fórmula compuesta por los 2n mintérminos será idénticamente 1. Demostración.-Del teoremaanterior, vemosqueunadeterminadacombinaciónde1’s y 0’s en lasvariablesdeentrada,provocaqueun mintérminotomeel valor 1. Por lo tantosi suma- mostodoslos mintérminosposibles,siemprehabráalgúnmintérminoquetomeel valor 1, que al sumarlo con los restantes 0’s, dará a la función el valor 1. Teorema 2.14.- Cada función puede expresarse como suma de mintérminos. Demostración.-Cualquierfunción se puedeexpresarcomo sumade términosproductos,al evaluarlos paréntesisdeunafórmulaequivalente.Unavezquetengamosunafórmulaequi- valentea la original escritacomosumade términosproductos,pasamosa incluir en todos los términos,todaslasvariablesde la función.Paraello, haremosusodel elementoidenti- dady el cuartopostulado(a+a’=1,enparticular),sustituiremoslos 1’s necesariosdelos tér- minosproductospor expresionesdel tipo (a+a’)delasvariablesqueno aparecen.De nuevo se evalúan los paréntesis y obtendremos finalmente la fórmula canónica disyuntiva. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática20 Supongamos que tenemos la fórmula disyuntiva F(x,y,z) = x·y + z’ Parapasara fórmula canónicadeberíamultiplicar por las variablesquefaltanen cadatér- mino producto, es decir, F(x,y,z) = x·y·(z+z’) + (x+x’)·(y+y’)·z’ = = x·y·z + x·y·z’ +x·y·z’ + x·y’·z’ + x’·y·z’ + x’·y’·z’ Teorema 2.15.- La fórmula canónica disyuntiva o de mintérminos es única. Demostración.-Comounacombinaciónde lasvariablesharáqueun solomintérminotomeel valor 1, paraobtenerunafórmulaequivalentedemintérminos,ésteno puedesersustituido. Repitiendoesterazonamientoentodoslos mintérminosqueaparecenenla fórmula,vemos queningunoessustituible.Tampocosepuedeañadirmásmintérminosya queéstosharán quela funcióntomeel valor 1 enun casoerróneo.Y por último, tampocosepuedeeliminar ningúnmintérminoya queparala combinaciónqueseharía1, la función ya no tendríael valorcorrecto.Porlo tanto,nosepuedenañadir, eliminaro sustituirmintérminos,por lo que la fórmula queda inalterable. Teorema2.16.-(o Primerteoremadeexpansión)Paraunafuncióndeconmutación,secumple que f(x1, x2,…, xn) = x1· f(1, x2,…, xn) + x1’ · f(0, x2,…, xn) Demostración.-Usandolos postuladosy teoremasdel álgebrade Boole podemosrepresentar f(x1, x2, …, xn) = x1· A + x1’ · B. Por lo que: Si x1 = 1, f(1, x2,…, xn) = A Si x1 = 0, f(0, x2,…, xn) = B Teorema 2.17.- Cada función completa puede escribirse como: f(x1, x2,…, xn) = ∑ f(i) · mi(x1, x2,…, xn) donde i es el número decimal que hace que dicho mintérmino tenga el valor 1. Por ejemplo m0 = x1‘ · x2’ · … · xn’ m1 = x1‘ · x2’ · … · xn m2 n -1 = x1 · x2 · … · xn Esdecir, el númerodel mintérminoesigual al númerodecimalquecoincidecon la combina- ción de señales de entrada que le da el valor “1” a dicho mintérmino. Demostración.-Seaplicasucesivamenteel teoremadeexpansión.Vamosaparticularizarauna función de tres variables(aunqueel desarrolloseríaperfectamenteválido paracualquier número de entradas). F(x,y,z) = x·F(1,y,z) + x’·F(0,y,z) = x·(y·F(1,1,z)+y’·F(1,0,z)) + x’·(y·F(0,1,z)+y’·F(0,0,z)) = x·{y·(z·F(1,1,1)+z’·F(1,1,0))+y’·(z·F(1,0,1)+z’·F(1,0,0))} + x’·{y·(z·F(0,1,1)+z’·F(0,1,0))+y’·(z·F(0,0,1)+z’·F(0,0,0))} = x·y·z·F(1,1,1)+x·y·z’·F(1,1,0)+x·y’·z·F(1,0,1)+x·y’·z’·F(1,0,0) + x’·y·z·F(0,1,1)+x’·y·z’·F(0,1,0)+x’·y’·z·F(0,0,1)+x’·y’·z’·F(0,0,0) Porlo tanto,enunafórmulademintérminossóloapareceránaquellosquetomenel valor 1 paraalgunacombinacióndelasvariablesdeentrada,ya queel productopor 0 anularádicho mintérmino.Porejemplo,la tabla2.6decombinacionestendrála siguientefórmulademintér- minos. TEMA II: ÁLGEBRA DE CONMUTACIÓN 21 Por la aplicación directa del principio de dualidad, se define maxtérmino como el término suma en el que apare- cen una y una sola vez todas las variables de la función, ya sean complementadas o sin complementar; por lo tanto, un maxtérmino es un caso especial de término suma. Por ejemplo, X1’+X 2 es un maxtérmino denominado M1. A la fórmula normal conjuntiva escrita mediante maxtérmi- nos se le denomina fórmula canónica conjuntiva o fórmula de maxtérminos. Se verifican los siguientes teoremas: Teorema2.18.-Dadala lista completade maxtérminosde n variables,asignandoarbitraria- mente1’s y 0’s a cadavariable,severificaqueun únicomaxtérminotomaráel valor 0. Demostración.-Paraquedoso másmaxtérminostomasenel valor0 conunasolacombinación de las variablesde entrada,sedebecumplir quedichosmaxtérminosno seveaninfluidos por algunavariable,quesetraduceen la inexistenciade dichavariableen el maxtérmino. Perodichaafirmación,contradicela definiciónde maxtérminoen la debenaparecertodas las variables de la función. Teorema 2.19.- La fórmula compuesta por los 2n maxtérminos será idénticamente 0. Demostración.-Del teoremaanterior, vemosqueunadeterminadacombinaciónde1’s y 0’s en lasvariablesdeentrada,provocaqueun maxtérminotomeel valor 0. Por lo tantosi suma- mostodoslos mintérminosposibles,siemprehabráalgúnmaxtérminoquetomeel valor 0, que al multiplicarlo con los restantes 1’s, dará a la función el valor 0. Teorema 2.20.- Cada función puede expresarse como suma de maxtérminos. Demostración.-Cualquierfunciónsepuedeexpresarcomosumadetérminossuma,al evaluar los paréntesisdeunafórmulaequivalente.Unavezquetengamosunafórmulaequivalentea la original escritacomosumade términossuma,pasamosa incluir en todoslos términos, todaslasvariablesde la función.Paraello, haremosusodel elementoidentidady el cuarto postulado(a·a’=0,enparticular),sustituiremoslos 1’s necesariosdelos términosproductos X0 X1 X2 F(X0,X1,X2) 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 F(X0,X1,X2) = m1 + m2 + m3 + m5 + m7 = ∑ m(1,2,3,5,7) Tabla 2.6. Ejemplo de una fórmula expresada como suma de mintérminos. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática22 por expresionesdel tipo (a·a’) de las variablesqueno aparecen.De nuevo seevalúanlos paréntesis y obtendremos finalmente la fórmula canónica conjuntiva. Si consideramosla fórmuladisyuntiva F(x,y,z)=(x+y’)·z, parapasarlaa su formacanónica actuamos con la adición de los términos F(x,y,z) = (x+y’+z·z’)·(x·x’+y·y’+z) = = (x+y’+z)·(x+y’+z’)·(x+y+z)·(x+y’+z)·(x’+y+z)·(x’+y’+z) Teorema 2.21.- La fórmula canónica conjuntiva o de maxtérminos es única. Demostración.-Para obteneruna fórmula equivalentede maxtérminos,un maxtérminono puedesersustituido,ya queel valor 0 dedichomaxtérminono puedeserañadidoconotro. Repitiendoesterazonamientoentodoslos maxtérminosqueaparecenenla fórmula,vemos queningunopuedesersustituido.Tampocosepuedeañadirmásmaxtérminosya queéstos haránquela funcióntomeel valor0 enuncasoerróneo.Y porúltimo, tampocosepuedeeli- minarningúnmaxtérminoya queparala combinaciónqueseharía0, la funciónya no ten- dría el valor correcto.Por lo tanto,no sepuedenañadir, eliminar o sustituirmaxtérminos, por lo que la fórmula queda inalterable. Teorema2.22.-(o Segundoteoremadeexpansión)Paraunafuncióndeconmutación,secum- ple que f(x1, x2,…, xn) = [x1+ f(0, x2,…, xn)] · [x1’ + f(1, x2,…, xn)] Demostración.-Usandolos postuladosy teoremasdel álgebrade Boole podemosrepresentar f(x1, x2,…, xn) = (x1+ A) · (x1’ + B). Por lo que: Si x1 = 0, f(0, x2,…, xn) = A Si x1 = 1, f(1, x2,…, xn) = B Teorema 2.23.- Cada función completa puede escribirse como: f(x1, x2,…, xn) = ∏ i [f(i) + Mi(x 1, x2,…, xn)] donde i es el número decimal que hace que dicho maxtérmino tenga el valor 0. Por ejemplo M0 = x1 + x2 + … + xn M1 = x1 + x2 + … + xn’ M2 n -1 = x1’ + x2’ + … + xn’ Esdecir, el númerodel maxtérminoesigual al númerodecimalquecoincideconla combina- ción de señales de entrada que le da el valor “0” a dicho maxtérmino. Demostración.-Seaplicasucesivamenteel teoremadeexpansión.Vamosa particularizara una función de tres variables(aunqueel desarrolloseríaperfectamenteválido paracualquier número de entradas). F(x,y,z) = (x+F(0,y,z))·(x’+F(1,y,z)) = {x + (y+F(0,0,z))·(y’+F(0,1,z))}·{x’+(y+F(1,0,z))·(y’+F(1,1,z))} = {x + (y+(z+F(0,0,0))·(z’+F(0,0,1)))·(y’+(z+F(0,1,0))·(z’+F(0,1,1)))} · {x’+(y+(z+F(1,0,0))·(z’+F(1,0,1)))·(y’+(z+F(1,1,0))·(z’+F(1,1,1)))} = (x+y+z+F(0,0,0))·(x+y+z’+F(0,0,1))·(x+y’+z+F(0,1,0))·(x+y’+z’+F(0,1,1)) · (x’+y+z+F(1,0,0))·(x’+y+z’+F(1,0,1))·(x’+y’+z+F(1,1,0))·(x’+y’+z’+F(1,1,1)) Porlo tanto,enunafórmulademaxtérminossóloapareceránaquellosquetomenel valor 0 paraalgunacombinaciónde las variablesde entrada,ya que la sumade 1 a los términos sumasconsiguesu no influencia. Por ejemplo, la tabla 2.7 de combinacionestendrá la TEMA II: ÁLGEBRA DE CONMUTACIÓN 23 siguiente fórmula de maxtérminos. El mododetransformarunafórmulademintérminosenotrademaxtérminossebasaen la doblecomplementaciónya que(f ’)’ = f. En estatransformaciónseverificanlos siguientes teoremas: Teorema2.24.-El complementodeunafórmulademintérminosestáformadopor la sumade los mintérminos que no aparecen en la fórmula original. Demostración.-Comoya hemosvisto, en unafórmula de mintérminosúnicamenteaparecen aquellosquepuedentomarun valor de1, mientrasquelos quetomansiempreel valor 0 no aparecen.No obstante,comola complementaciónconsisteenintercambiar1’s por0’s,enla fórmula complementadatomaránel valor 1 aquellosmintérminosquetomabanel valor 0, mientrasquetomaránel valor 0 aquellosquetomabanel valor 1. Porlo tanto,enla fórmula complementadaaparecerántodoslos mintérminosquepasana tomarel valor 1, quesonlos mismos que en la fórmula original tomaban el valor 0 y por tanto no aparecían. Teorema2.25.-El complementodeunafórmulademaxtérminosestáformadopor el producto de los maxtérminos que no aparecen en la fórmula original. Demostración.-Comoya hemosvisto, en unafórmula de maxtérminosúnicamenteaparecen aquellosquepuedentomarun valor de0, mientrasquelos quetomansiempreel valor 1 no aparecen.No obstante,comola complementaciónconsisteenintercambiar1’s por0’s,enla fórmula complementadatomaránel valor 1 aquellosmaxtérminosquetomabanel valor 0, mientrasquetomaránel valor 0 aquellosquetomabanel valor 1. Porlo tanto,enla fórmula complementadaaparecerántodoslosmaxtérminosquepasana tomarel valor0, quesonlos mismos que en la fórmula original tomaban el valor 1 y por tanto no aparecían. Teorema 2.26.- Siempre se verifica las siguientes igualdades: mi’ = M i y Mi’ = mi. Demostración.-Pordefinición,i esel númerodecimal,codificadoenbinarioconlasvariables deentrada,quehacequeel mintérminotomeel valor de1 y el maxtérminotomeel valorde 0. Comoel mintérminoesel productodetodaslasvariables(complementadaso sincomple- mentar),todasaquellasqueaparezcansin complementarsesustituiránpor 1, mientrasque las complementadasse sustituyenpor 0. Y como el maxtérminoes la sumade todaslas variables(complementadaso sin complementar),todasaquellasqueaparezcansin comple- mentarsesustituiránpor0 y lasqueesténcomplementadassesustituiránpor1. Ahorabien, por las leyesde DeMorgan generalizadas,el complementode mintérminoseráun maxtér- mino (cambiaroperaciónAND por OR) con las variablesinvertidas(las que estabansin X0 X1 X2 F(X0,X1,X2) 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 F = M0 · M4 · M6 = ∏ M(0,4,6) Tabla 2.7. Ejemplo de fórmula expresada como producto de maxtérminos. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática24 complementar, ahoraapareceráncomplementadasy viceversa).Por lo tanto,el índicedel mintérminoy del maxtérminoobtenidode su complementaciónes el mismo.Y como el complementodelcomplementodeunelementoesesemismoelemento,la segundaigualdad también queda demostrada. No obstante,a la horadeimplementarlasfuncionesdeconmutaciónmediantecircuitoso puertaslógicas, las expresionesen formas canónicasno derivan en una implementación óptima,generalmente.Las expresionesmásempleadasparasu posteriorimplementaciónson las que siguenuna serie de criterios de minimalidad. Los criterios más comunesson los siguientes: • Menor número de variables. • Menornúmerode términos(ya que,por lo general,un términosuelecorresponderse con una puerta lógica). • Menor valor asociado. Este valor sigue la siguiente fórmula: nº términos + nº variables – nº términos con un solo literal –1 El primercriterio (el númerodevariables)nosva a dar ideadel númerodeentradasquedebe tenercadapuertalógicadel primernivel, esdecir, enel casodesuma(producto)deproductos (sumas),nosindicaráel númerodeentradasdecadapuertaAND (OR).El segundocriterionos va a dar ideadel númeroaproximadodepuertasdel primernivel. Porúltimo, el tercercriterio nosvaadarideadelnúmerodetérminosquenoseránimplementadosconpuertas(la figurade términos con un solo literal, que será implementada con un solo cable). El pasodeunafórmulaa otra,y enparticulara la fórmulamínima,sebasaenla aplica- ción de los postulados y los teoremas correspondientes al álgebra de conmutación. Hastaahorahemosvisto funcionesqueseencuentrandefinidasparatodaslascombina- cionesposiblesdevariables.No obstante,tambiénsepuedendarcasosdefuncionesqueno se encuentrendefinidasparatodaslas combinacionesde entradas.Esto suelepasarcuandolas variablesdeentradano sonindependientesentresí o queno puedandarsetodaslascombina- ciones.A estetipo de funcionesse les denominafuncionesincompletaso incompletamente especificadas.Unafunción incompletapuedeserla expresadapor la tabla2.8 decombinacio- nes:. En estecaso,las combinacionesparalas quela función no estáespecificadason011,110 y 111.Paraestascombinaciones,la funciónpuedetomarcualquiervalor ya queésteno essigni- ficativo porqueno sedaráo no influirá. Estasfuncionessepuedenexpresarmediantela unión X0 X1 X2 F(X0,X1,X2) 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 -- 1 0 0 0 1 0 1 1 1 1 0 -- 1 1 1 -- Tabla 2.8. Ejemplo de tabla de verdad de una función incompleta. TEMA II: ÁLGEBRA DE CONMUTACIÓN 25 de dos funciones diferentes: • Una función completa,f, que contemplatodaslas inespecificacionescomo 0 ó 1, según el tipo de representación. En el caso anterior sería f = m1 + m2 + m5 = M0·M4. • Y otra funcióncompleta,denominadafunción inespecificación,quecontemplatodas las combinacionespara las que la función no estádefinida,soliéndosedenominar como la funciónφ. En el caso anterior seríaφ = m3 + m6 + m7 = M3·M6·M7. A la hora de crear la fórmula que expresa dicha función, hay que tener en cuenta dos puntos: • La función f debe ser completamente implementada. • La función φ no tieneporquésercompletamenteimplementada.Éstapuedequeno seaimplementada,que seaimplementadasólo parcialmenteo que estécompleta- mente implementada. Lasinespecificacionessuelenserempleadasparaayudara la minimizacióndelasfórmu- lasdeconmutación.Debidoa estasinespecificaciones,secumplequela fórmulademintérmi- noso demaxtérminosno esúnica,ya quepuedenexistir tantasfórmulascomocombinaciones de que sus inespecificaciones existan o no. Sedefineel complementodeunafunciónincompletacomootrafunciónincompletacon la misma función de inespecificación y el complemento de los valores definidos. Por ejemplo: X0 X1 X2 F(X0,X1,X2) F(X0,X1,X2)’ 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 -- -- 1 0 0 0 1 1 0 1 1 0 1 1 0 -- -- 1 1 1 -- -- Tabla 2.9. Ejemplo de una función incompleta y su complemento. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática26 5. Aritmética binaria. Una vez visto el álgebrade Boole,y en particularel de conmutación,pasaremosa ver comoseharíanlasoperacionesmásbásicasdela aritmética(suma,resta,multiplicacióny divi- sión) utilizando el código binario. 5.1. Suma binaria. La sumabinariatienedossalidas:sumay acarreo.La salidasumaesel resultado,mien- trasqueel acarreoeslo quesele añadea la siguientesuboperación.La tabladecombinaciones para la suma de dos entradas es la tabla 2.10, que se encuentra junto a un ejemplo: 5.2. Resta. La restabinariatienedossalidas:restay desbordamiento.La salidarestaesel resultado, mientrasque el desbordamientoes lo que se le vuelve a restara la siguientesuboperación, comosi fueseun nuevo substraendo.La tabladecombinacionesparala sumadedosentradas es la tabla 2.11, que se encuentra junto a un ejemplo: A B Suma Acarreo 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Tabla 2.10. Tabla de verdad correspondiente a la suma aritmética. A B Resta Desbordamiento 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Tabla 2.11. Tabla de verdad correspondiente a la resta aritmética. Acarreo Sumando A Sumando B Resultado 111111 1 010110.011 011011.110 110010.001 22.375 27.750 50.125 Sustraendo Desbordamiento Minuendo Resultado 10100.11 10110 0 01011.01 01001.10 20.75 11.25 09.50 TEMA II: ÁLGEBRA DE CONMUTACIÓN 27 5.3. -Complemento. Al igual quela restadelos númerosrealessepuedever comola sumadel númeronega- tivo, enla restabinariasepuedehacerlo mismo.El númeronegativo enbinarioesel denomi- nadocomplementoa dosdedichonúmero,representadopor 2B. El complementoa dosdeun númerobinariosecalculainvirtiendodichonúmeroy sumarle1 a la inversión,comopodemos ver en el siguiente ejemplo: 2(1011) = 0100 + 1 = 0101 +1111 -------------> +1111 -1011 ------------->+0101 +0100 ------------> +0100 Otra formadeobtenerel complementoa dosesla siguiente:empezandopor la derecha sedejatodo igual hastaencontrarel primer 1 (inclusive) y a partir de ahí seinvierte la parte restante bit a bit. En el casodequeel resultadoseanegativo, tantoconla sumaconel complementoa dos comoenla restabinaria,el númeroqueseobtieneesel númeronegativo binario,y por tanto,el complemento a dos del número en cuestión. 5.4. Desplazamiento. En el casoque queramosrealizaroperacionescomplejas(multiplicación y/o división) connúmerosdepotenciadedos(2, 4, 8, 16, 32), éstasresultanmuy simplespor propiacons- truccióndelcódigobinario.La multiplicación(división)por2n serealizadesplazandoel punto decimaln dígitosa la derecha(izquierda).Enel casodequenoexistanmásdígitos,serellena- rán con ceros.Estaforma se puededemostrarpor la expresiónpolinómicade los números binarios. (bn·2 n + … + b0·2 0 + b-1·2 -1 + … b-q·2 -q) x 2j = bn·2 (n+j) + … + b0·2 (0+j) + b-1·2 (-1+j) + … + b- q·2 (-q+j ) 100110101.1 x 16= 1001101011000 5.5. Multiplicación. La multiplicacióndedosnúmerosbinarioscualesquierasebasaenla tabla2.12decom- binaciones: A B Producto 0 0 0 0 1 0 1 0 0 1 1 1 Tabla 2.12. Tabla de verdad correspondiente al producto aritmético. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática28 Despuésserealizala sumade los productosparciales(comoen el casodecimal).Así, mostramos como ejemplo la multiplicación de 5.75 x 5 = 28.75. 5.6. División. La división es la operaciónmáscompleja,realizándosegeneralmentea través de una algoritmo.El algoritmoquevamosa emplearseráel siguiente.El divisor sealinearácon la partemássignificativa (mása la izquierda)del dividendoy serestará.Si el resultadode esta restaesnegativo, al cocientesele añadeun ceroa la derechay el divisor sedesplazaun dígito a la derechay volvemosa restar. Si el resultadoespositivo, al cocientesele añadeun 1 a la derechay al resultadodela restasele añadeel dígito inmediatamentesiguientede la derecha del dividendo,y sevuelve a empezar. A continuación,vemosen la figura 2.2, y a modode ejemplo, la división correspondiente a 45/5: 101.11 x 101 10111 000000 1011100 11100.11 5.75 x 5 28.75 101101 101 101 1001000101 101 000 Figura 2.2.- Ejemplo de la división binaria. TEMA II: ÁLGEBRA DE CONMUTACIÓN 29 6. Apéndice: Funciones Complejas. Hastaahorahemosvisto funcionesdeformageneral.No obstante,existenfuncionescon unas determinadas propiedades especiales que suelen darle el nombre. 6.1. Funciones simétricas. Una función se denomina totalmente simétrica cuando per- manece inalterable ante cualquier permutación de sus variables. Enestoscasos,lo querealmentedael comportamientodela funciónnosonlasvariables individuales,sinosuconjunto.En el casodequela simetríasedéparaalgunasvariablescom- plementadas,sedicequela funciónessimétricamixta.Peroenamboscasossedicequela fun- ción es simétrica.La forma de representarestasfuncioneses mediantela letra S, seguida (mediantesubíndices)del númerode 1's paralos quela función tomael valor 1. En la tabla 2.13 mostramos un ejemplo: No obstante,cuandola funciónnoessimétricaparatodassusvariablessinoparauncon- junto de ellas, se dice que la función es parcialmente simétrica. La ventaja de estas funciones es la fácil implementación mediante conmutadores. 6.2. Funciones fr ontales y bac kales. Cuando se puede encontrar una fórmula en suma de produc- tos en la que una variable, x i , sólo aparece sin comple- mentar (o complementada), se dice que dicha función es positiva (o negativa) para la variable x i . En cambio, si en todas las fórmulas aparece tanto la variable sin complementar como la complementada, se dice que la función es mixta en x i . Mientras que si existe una fórmula en la que no aparece la variable x i , se dice que la función es vacua en x i . Extendiendo estas definiciones al conjunto completo de X0 X1 X2 nº de 1’s F(X0,X1,X2) 0 0 0 0 1 0 0 1 1 1 0 1 0 1 1 0 1 1 2 0 1 0 0 1 1 1 0 1 2 0 1 1 0 2 0 1 1 1 3 1 F(X0,X1,X2) = S0,1,3(X0,X1,X2) Tabla 2.13. Ejemplo de una función simétrica. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática30 variables de la función, se dice que una función es fron- tal (backal) si es positiva (negativa) en todas sus variables. La ventajadelasfuncionesfrontales(backales)esquesi disponemosdel valor sin com- plementar(complementado)de las variablesde entrada,no nos haránfalta inversoresa las entradas, simplificando de este modo la implementación del circuito lógico. 6.3. Funciones umbrales. Una función umbral se define como aquella que se puede definir mediante desigualdades a modo de pesos, por ejem- plo f(x1, x2,…, xn) = 1 sin xi· wi >T dondewi representael vectorpesoy T el umbral.La representacióngráficadeestasfunciones (figura2.3)serealizamedianteunacajaenla quecadaentradaestáacompañadadel pesoaso- ciado,mientrasqueen la esquinasuperiorderechasele indica el umbrala partir del cual el valor de la función será 1. La ventaja de estas funciones radica en una fácil implementación física. W1 W2 Wn T F Figura 2.3.- Símbolo de una función umbral. ElectronicaDigital_Apuntes_Problemas/Tema3_CircuitosCombinacionalesI.pdf TEMA III.- ANÁLISIS DE CIRCUIT OS COMBINACIONALES En el presentetema,vamosa presentarlos mecanismosy procedimientosparapoder obtenerel comportamiento,tanto lógico comotemporal(en un gradono excesivamentepre- ciso), de un circuito combinacional. 1. Intr oducción. Dentrode la Electrónica,existendosproblemasbásicos:análisisy diseñode circuitos. Luego antes de abordar dichos problemas, vamos a darles una posible definición. El problemadeanálisis(quetrataremosconrespectoa los circuitoscombinacionalesen este tema) se puede argumentar de la siguiente forma: Dado un circuito electrónico, determina el comportamiento y la funcionalidad que presenta dicho circuito. En cambio,el problemadel diseño(queveremosenel temaIV y siguientesconrespectoa los circuitos combinacionales) es el siguiente: Dados un comportamiento y una funcionalidad, determina el circuito electrónico que los presenta. Es decir, un problema es el inverso del otro. Estos dos problemas se pueden afrontar desde tres formas diferentes: • Mediantetécnicasalgebraicas,generalmentecálculosa mano.Estehechoconlleva una limitación a bloques o circuitos pequeños. • Mediantesimulaciónhardwareo emulación.Estemétodosebasaen la construcción de un modelofísico, siendoesteúltimo el queesestudiado.Por ejemplo,montando un circuito en una placa de entrenamiento. • Mediantesimulación.Nosayudamosdelasherramientasdediseñoasistidopor orde- nador(C.A.D.), enla queemulamosel circuito.Estasherramientassepuedenclasifi- carenherramientasdesimulación(paraobtenerel comportamientodeun circuito) y de síntexis (para obtener un circuito a partir de un comportamiento). De lastresformas,la másempleadaesla simulaciónpor serla quemayorpotenciadecálculo presenta y por lo tanto la que mayores sistemas puede abarcar. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática32 2. Puer tas Lógicas. Una de las principalesventajasde utilizar el álgebrade conmutaciónradicaen quelas operacionesbásicasdeesteálgebra(operaciónAND, ORy NOT) tienenunequivalentedirecto entérminosdecircuitos.Estoscircuitosequivalentesa estasoperacionesrecibenel nombrede puertas lógicas. No obstante,el restodecircuitoslógicosbásicostambiénrecibenel nombre depuertas,aunquesuequivalenciaseproducehaciaunacomposicióndelasoperacioneslógi- cas básicas. Las trespuertasfundamentalesrecibenel mismonombreque los operadores,esdecir, existenlaspuertasAND, puertasOR y puertasNOT. La últimapuertarecibeel nombremás usualde inversor. En la figura3.1mostramoslos símbolosdeestaspuertastantotradicionales como internacionales, aunque usaremos preferentemente los símbolos tradicionales. En primer lugar debemosidentificaraquellosconjuntosdepuertasconlos quesepuede implementar cualquier función lógica. Así Un conjunto de puertas completo es aquel conjunto con el que se puede implementar cualquier función lógica El conjuntocompletomásintuitivo es aquelformadopor todaslas operacionesbásicasdel álgebra de conmutación, es decir, el conjunto formado por puertas AND, OR e inversores. El siguientepasoconsisteen identificarcuandoun conjuntode puertasescompleto.Si nosguiamospor la definición,podríamospensarquesi empezamosa implementarfunciones arbitrarias,podríamosdeterminarsi el conjunto de puertases completo.No obstante,este métodono seríamuy prácticoya quesiempreexistiría la dudade si algunafunción queno A B Q F A B Q F A F Puerta AND Puerta OR Puerta NOT o inversor F = A·B·...·Q F = A+B+...+Q F = A = A’ A B Q F& A B Q F≥1 A F1 Símbolos tradicionales Símbolos internacionales Figura 3.1.- Simbología tradicional e internacional correspondiente a las puertas lógicas básicas. TEMA III.- ANÁLISIS DE CIRCUITOS COMBINACIONALES 33 hubiésemosimplementado,nopodríaimplementarsecondichoconjunto.Porlo tanto,tenemos que buscar otro método que no deje lugar a dudas. Estemétodopodríaconsistiren obtenerlas puertasde un conjuntocompletoya cono- cido,porejemplo,lastrespuertasbásicas.Si estatransformaciónesfactible,podemosgaranti- zarqueel nuevo conjuntoescompleto.De hecho,paraimplementarunafunciónenel nuevo conjunto,podríamosir transformandopuertaa puerta(aunqueestasoluciónno seríaóptima). Porejemplo,probaremosconel conjuntoformadoconlaspuertasAND y los inversores(figura 3.2): Luego, el conjuntoformadopor las puertasAND e inversoresformanun conjuntocompleto. De idénticaformasepuedeprobarqueel conjuntoformadopor laspuertasORy los inversores forman un conjunto completo. Debidoaestapropiedad(quelaspuertasAND einversores,al igualquelaspuertasORe inversores,formanun conjuntocompleto),cobraespecialimportanciala uniónde unapuerta AND (u OR) con un inversor, dandolugar a puertasespecíficasllamadaspuertasNAND (AND-NOT) y NOR (OR-NOT), cuyos símbolos se muestran en la figura 3.3. SepuedeprobarquetantolaspuertasNAND comolaspuertasNORformanunconjuntocom- pleto, como vemos en la figura 3.4: A B F = A·B A F = A A B F = (A’·B’) = A + B Puerta AND Inversor Puerta OR Figura 3.2.- Conjunto completo formado por puertas AND e inversores. A B Q F A B Q F Puerta NAND Puerta NOR F = A·B·...·Q F = A+B+...+Q A B Q F& A B Q F≥1 Símbolos tradicionales Símbolos internacionales Figura 3.3.- Simbología tradicional e internacional de las puertas NAND y NOR. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática34 Dentrodelasdenominadaspuertas,queno implementanunoperadordirecto,seencuen- tra la conocidacomoOR-exclusiva o XOR. Estapuertamuestrala siguientefuncionalidad:Y = A'·B + A·B'. La importanciaradicaensuampliousoenla aritméticabinaria(siendola puerta basedela suma).Tambiénesmuy usadaenlascircuiteríasdedeteccióny correccióndeerro- res,implementandofuncionesdecomparacióny paridad.Susímboloy tabladecombinaciones se muestra en la figura 3.5. Ademásdetenerlaspropiedadesconmutativasy asociativas,algunasigualdadesútilessonlas siguientes: • (x ⊕ y)' = x' ⊕ y = x ⊕ y' • (x ⊕ y)’ = (x·y’+x’·y)’ = (x·y’)’·(x’·y)’ = (x’+y)·(x+y’) = x·y + x’·y’ • x’ ⊕ y = x’·y’ + x·y • x ⊕ y’ = x·y + x’·y’ • x ⊕ x = 0 • x ⊕ x = x·x’ + x’·x = 0 + 0 = 0 • x ⊕ x' = 1 • x ⊕ x’ = x·x + x’·x’ = x + x’ = 1 A F A F A B F A B F F A B F A B Figura 3.4.- Conjuntos completos formados por puertas (a) NAND y (b) NOR. (a) (b) A B F = A ⊕ B A B F 0 0 0 0 1 1 1 0 1 1 1 0 Figura 3.5.- Símbolo y tabla de verdad de la función XOR (exclusiva OR). =1 TEMA III.- ANÁLISIS DE CIRCUITOS COMBINACIONALES 35 • x ⊕ 1 = x' • x ⊕ 1 = x·0 + x’·1 = 0 +x’ = x’ • x ⊕ 0 = x • x ⊕ 0 = x·1 + x’·0 = x + 0 = x • x·(y ⊕ z) = (x·y)⊕ (x·z) • x·(y ⊕ z) = x·(y·z’ + y’·z) = x·y·z’ + x·y’·z • (x·y) ⊕ (x·z) = (x·y)(x’+z’) + (x’+y’)(x·z) = x·y·z’ + x·y’·z • x ⊕ (x·y') = x +y • x ⊕ (x·y’) = x·(x’+y) + x’·(x·y’) = x·y • x ⊕ (x+y) = x'·y • x ⊕ (x+y) = x·(x’·y’) + x’·(x+y) = x’·y Comopodemosver, la negaciónseobtieneconunapuertaXOR y el valor lógico “1”; no obs- tante,no podemosconseguir ningunapuertaAND u OR a partir exclusivamentedeunapuerta XOR, ya que para obteneruna de las operacionesbásicasdebemosayudarnosde la otra. Luego, la puertaXOR no formaun conjuntocompleto,perosi le añadimosunapuertaAND o una puerta OR, sí se convierten en un conjunto completo. Unanotaimportanteen todoslos símbolosesquela presenciadeun círculo indicauna inversión, como podemos ver en la figura 3.6: 3. Análisis. El comportamientode los circuitos combinacionalessólo dependede las señalesde entradaenun instantedeterminado,y nodela secuenciadeentradas,esdecir, dela historiadel circuito. Estehechono quieredecir que el comportamientotemporalno seaimportante,de hechounadelasprincipalescaracterísticasdeloscircuitosquesetienenencuentaesla veloci- dadde operacióno el retrasode propagación.En función de esteretraso,podemosencontrar doszonastemporalesdeoperaciónbiendiferenciadas:estadoestacionarioy estadotransitorio. Una posible definición de estos estados sería la siguiente: El estado transitorio es aquel espacio temporal que va desde el cambio de las entradas hasta que la salida se estabilice. En esteestado,tantolasseñalesinternascomolasdesalidapuedensufrir cambios(no necesa- riamenteuno solo, sino que puedenser varios),aunquelas señalesde entradano cambien. Estos posibles cambios son los necesarios para que el circuito busque su estabilización. F = (A’ · B’) A B Figura 3.6.- Utilización de los “círculos” como símbolo de negación. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática36 El estado estacionario es aquel espacio temporal que va desde la estabilización del circuito lógico hasta que las entradas vuelvan a cambiar. En esteestado,ningunade las señalesdel circuito puedesufrir ningúncambio,a no serque seanlas señalesde entrada.Estadiferenciasepuedeapreciaren la figura 3.7. Es decir, en el estadotransitorioseproducentodosloscambiosnecesariosenlasseñalesdesalida(e internas) hastaconseguir la estabilizacióndel circuito.En cambio,enel estadoestacionario,lasseñales desalida(e internas)estánestablesa suvalor correcto.Porlo tanto,el comportamientológico hayqueobservarloenel estadoestacionario, enel cualnoseproduciráningúncambioadicio- nal debido al cambio actual de las señales de entrada. 3.1. Análisis estacionario. Una vez planteadoen la zonatemporaldondenosencontramos,el estadoestacionario, vamosaafrontarel análisisestacionariodeuncircuitocombinacional.Enesteestado,lasseña- lesdel circuito no cambian,luego lo significativo deesteestadoessuvalor. Unaformasimple deanalizarun circuito ensuestadoestacionarioconsisteenetiquetartodoslos nodosdel cir- cuitoconla funciónlógicaquerealizan.Porlo tanto,la fórmuladeconmutacióncoincidirácon la etiquetadel nododesalida,sustituyendolasseñalesinternaspor susfuncionesdelasvaria- bles de entrada. En la figura3.8mostramosunejemplodeanálisisestacionario.Porlo tanto,unavezque tenemosetiquetadola(s)señal(es)desalida,tenemosquerecorrerel circuito enordeninverso para determnar las fórmulas de cada una de las señales internas. Una vez quetenemosla fórmula con la quehemosimplementadola función,sepuede representarmediantesu tabladecombinaciones,mostradaen la tabla3.1.Comoya comenta- mos,la tabladeverdaddebetenercomomínimotodaslasseñalesdeentraday salida.No obs- tante,puedeser interesanteincluir las señalesinternasparaunaobtenciónmássegura.Este Señales de entrada Señales de salida y/o internas Estado transitorio Estado estacionario Figura 3.7.- Separación entre estados transitorios y estacionarios. TEMA III.- ANÁLISIS DE CIRCUITOS COMBINACIONALES 37 hechosuelecobrarmássentidocuandoel circuitoquetenemosqueanalizarseamáscomplejo, tanto en dimensiones como en complejidad de los componentes. Algunasrecomendacionessimplesparaunamayor facilidadde obtenerlos valoresde una fórmula lógica pueden ser las siguientes: • Si la fórmulaesunasumadetérminos,el valorseráiguala ‘1’ siemprey cuandoalgu- nosde los términossea‘1’. Luego, noscentramostérminoa términoparaver si su valor es ‘1’. En todos los casos en que ningún término sea ‘1’, el valor es ‘0’. • Si la fórmulaesunaproductodetérminos,el valor seráigual a ‘0’ siemprey cuando algunosde los términossea‘0’. Luego, noscentramostérminoa términoparaver si su valor es ‘0’. En todos los casos en que ningún término sea ‘0’, el valor es ‘1’. • Si la fórmula esunamezclade sumasy productos,seaplicanlas recomendaciones anteriores según corresponda 3.2. Análisis transitorio. El estadotransitorio,comoyahemosvisto,tieneunoslímitestemporalesy la posibilidad decambiarunnúmeroaleatoriodeveceslasseñalesdel circuito.Porlo tanto,lo importantede esteestadoseráconocereselímite temporal,y las transicionesno necesariasqueseproduci- rán. A B C N1 N2 N3 N4 F 0 0 0 0 1 1 1 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 Tabla 3.1. Tabla de verdad del ejemplo de la figura 3.8. A B C A B N1 = A·B N2 = C N3 = A+B N4 = N2·N3 F = N1 + N4 Figura 3.8.- Ejemplo de análisis estacionario de un circuito lógico. F = A·B +c·N3 F = A·B +c·(A+B) Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática38 3.2.1. Caminos críticos El primerdilemaconel quenosencontramosesdiscenircuandoacabael estadotransito- rio y empiezael estadoestacionario.Estafronterasepodríaencontrarobteniendoel retrasode propagacióndel circuito (duracióndel estadotransitorio).Esteretrasoseráigual a la sumade los retrasosdelaspuertaspor lasquesetransmitenlos datos.En el ejemploanteriorpodemos distinguir tres caminos diferentes por simple inspección: • AND - OR --> T = TAND + TOR • INV - AND - OR --> T = TINV + TAND + TOR • NOR - AND - OR --> T = TNOR + TAND + TOR Ahora nosencontramosanteel problemade quécaminodeberíamosescoger. No obs- tante,nopodemosperderdevistaquelo realmenteimortanteesel tiempoquetranscurredesde queentrala señalhastaquellega a la salida.Luego, puedequeexistancaminosequivalentes (enel sentidodequetenganel mismoretraso).De estoscaminosdebemoselegir los máslen- tos, con el fin de garantizarquecualquiercombinaciónde entradahabrállegadoa la salida transcurrido dicho tiempo. Cadacombinacióndeentradasllegaráal nododesalidaporunoo variosdeesoscaminos (siempreel másrápidocortandoel máslento). Igual queunacombinaciónpuedellegar a la salidapor varioscaminos,sepuededar el casode queun caminoseencuentrepermanente- mentecortado,es decir, siempreexista otro con menor retraso.Por lo tanto, tenemosque garantizarqueel camino,quehayamoselegido comocrítico, sesiga por algunacombinación. Las situaciones más usuales en las que un camino se corta son las siguietnes: • F · ‘0’, yaquela salidanodependedelcaminoelegido,sinoquesiemprevaldrá‘0’ • F + ‘1’, por la misma razón anterior. Veamos qué combinaciones sigue cada camino del circuito de la figura 3.8: • En el casodel primercamino,la operaciónc·( A+B) no debeinfluir en la operación OR. Por lo tanto,éstadebevaler ‘0’ paraquex + ‘0’= x. Luego las combinaciones que siguen este camino son: • ABC = 001 - 011 - 101 - 111 - 010 - 100 - 110 • Enel casodelsegundocamino,la operaciónc·( A+B) sídebeinfluir enla operación OR,por lo queenestecasoA·B debevaler ‘0’ paraque‘0’ + x = x. Además,la ope- raciónNOR no debeinfluir enla operaciónAND, por lo queA+B debevaler‘1’ para que ‘1’ · x = x. Luego las combinaciones que siguen este camino son: • ABC = 000 - 001 • La descripcióndel tercercaminoserásemejantea la del segundointercambiandolos papeles del inversor y la puerta NOR. Luego las combinaciones serán: • ABC = 000 - 010 - 100 Comopodemosver, tenemoscombinacionesqueverificanmásdeun caminocomopuedeser la combinación“000” (entreotras).Cuandoestamosen estassituaciones,el retrasode dicha combinación será el menor retraso (ya que en ese momento, la señal ha llegado a la salida). TEMA III.- ANÁLISIS DE CIRCUITOS COMBINACIONALES 39 Porlo general,losestadostransitoriosy estacionariosnoestánreferenciadosacadacom- binacióndelasseñalesdeentrada,sinoal circuito ensí mismo.Luego, la duracióndel estado transitoriosetomacomola máslarga,asegurandoasíqueenel estadoestacionariolasseñales de salida estarán estabilizadas. El camino crítico se define como aquel camino que produce el mayor retraso para alcanzar la estabilización de las señales del circuito. Luego lo realmenteinteresanteesobtenerel caminocrítico. Paraello deberíamosconocerel retrasode cadapuerta.En el casode no conocersesetomapor convenciónel mismoretraso paratodaslaspuertas,luego, seráaquelpor el quepasemáspuertas.En nuestroejemploten- dríamoscomocaminoscríticoslos dosúltimos(conun retrasodetrespuertas).Peroantesde asignar este camino, debemos garantizar que este camino es seguido por alguna combinación. 3.2.2. Azares El segundoaspectodel análisistransitorioconsisteen deducirlas transicionesqueten- dránlugarendichoestado.Seríalógicopensarqueparacadacambiodelasseñalesdeentrada, deberíaexistir comomáximo un cambioen cadaseñalde salida(si tuviesequecambiarsu valor lógico)o ninguno(si notuviesequecambiardichovalor).No obstanteestonoseproduce en la mayoría de los casos reales. El principalerrorconsisteensuponerquesepuedenproducircambiossimultáneosdelas diferentesseñalesdel circuito. Comopodemosapreciaren la figura3.9, lasseñalesno llegan de forma simultáneaa todaslas partesdel circuito debidoa los diferentesretrasosde cada puertautilizada.Podemosapreciarquelasseñalesdeentradaal circuitohancambiadosimultá- neamente,peroa la puertaC no lleganloscambiosdeformasimultánea,sinoqueel cambiode X1 llega antes.Luego la puertaC realizarádosoperacionesenlugar deuna,comoeradeespe- rar. Estosretrasosno soncontroladosyaqueademásdela funciónlógica,dependendeotros muchosfactores,tantointernos(dispositivosparásitos)comoexternos(temperatura).Además, la insercióndelasseñalesdeentrada(ya seapor un operadorhmano,mecánicoo electrónico) no garantizaquesepuedanproducircambiossimultáneosde señales,sino todo lo contrario (debido a la no idealidad de los operadores). TA TB TC X1 X2 X21 X11 X1 X11 X2 X21 TB TA Figura 3.9.- Imposibilidad de tener transiciones simultáneas en más de una señal digital. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática40 Porlo tanto,estastransicionesnoconsideradassondegranimportancia,yaquenospue- denconducira situacioneserróneas,y no necesariamentede forma transitoria.Si dicho cir- cuito se comportacomo entradade otro, puedeque una situaciónanómalaproduzcaque la situacióninicial no seala correcta,obteniendoun comportamientodiferenteal deseado.Ade- más,cuantomástransicionesseannecesariasparala estabilizacióndel circuito, quieredecir queel circuito consumirámáspotencia(la energía necesariaparallevar a cabosu operación porunidaddetiempo);esteparámetrocobracadavezmásimportanciaconel augedelossiste- mas sin cable. Por lo tanto, se denomina azar a cualquier desviación del comporta- miento esperado, potencial o real, de un circuito de con- mutación cuando sufre un cambio en sus entradas. Las desviacionespotenciales,no reales,sesiguenconsiderandoazaresdebidoa queel com- portamientode un circuito (y en mayorgrado,su régimentransitorio)puededependerde las condicionesdeoperaciónenla queseencuentreel circuito,comosonla temperaturadeopera- ción, la vida delos dispositivos,etc.A unadeterminadatemperatura,no seobserva la presen- cia del azar, pero si se alteradicha temperatura,los retrasosde las puertaspuedenvariar, ocasionando la presencia del azar. Supongamosquequeremospasardela combinación“000” a la “110” enla funcióncon las tablasdecombinacionesde la figura3.10.Comohemosvisto antes,no podemoscambiar másdeunaseñaldeformasimultánea;luegoprimerodebemoscambiarunaseñaldeentraday luego la otra.Si tenemosencuentaesterazonamiento,la salidapasarápor un valor ‘0’ sin que nosotrosesperemosestenivel. Por lo tanto,estepulso,mostradoenla figura3.10,seráconsi- derado un azar, por la razón de que no es esperado. 0 100 A C F 0 010 1 010 1 000 0 101 0 011 1 111 1 101 B 0 100 A C F 0 010 1 010 1 000 0 101 0 011 1 111 1 101 B A B C F Figura 3.10.- Ejemplo de azar de función. TEMA III.- ANÁLISIS DE CIRCUITOS COMBINACIONALES 41 Unavezquehemosdetectadola presenciadeazares,la cualvaa reducirlasprestaciones del diseño,tenemosqueobtenerlas causasde estosazares.Comoya hemosdicho la causa principalde los azaresesla imposibilidaddetenercambiossimultáneosdemásdeunaseñal. Así, unaprimeracausasonlos cambiossimultáneosdelasseñalesdeentrada,quedebidoa la función lógica implementada provocará un azar. Los azares provocados por la función lógica en sí misma se denominan azares de función . Un ejemplodeazarde funciónesel mostradoenel ejemploanterior. En eseejemplo,el azar eradebidoa queparallegar a la combinaciónfinal sedebíapasarpor otrascombinacionesen las que la salida tomaba un valor diferente. Unaformasencilladeevitar los azaresdefunciónseráimponerla restriccióndeno per- mitir cambiossimultáneosdeseñalesdeentrada.Conestamedida,la transicióndesde“000” a “110” no seríapermitiday tendríamosque elegir algunode los dos caminosanteriores.El comportamientoseríael mismo pero con la salvedadde que, en casode elegir el primer camino(dondeseobtienela presenciadel azar),el pulsodebajadaesesperadoy ya no sería considerado azar. Hastaahorasólohemostratadolasseñalesdeentrada,noobstante,enuncircuitoexisten trestiposdeseñales:entrada,salidae internas.La imposibilidaddecambiarsimultáneamente másdeunaseñalinternaproduciráuncomportamientosimilar, aunquesolamentesehayacam- biadounaseñaldeentrada.La funciónanteriorpuedetenerla implementaciónmostradaenla figura 3.11. Vamosa estudiarla transición“011” a “001”. En estatransiciónsólocambiala señalB, por lo queno existiránazaresdefunción.No obstante,podemosapreciarquesetienequepro- ducir unatransiciónsimultáneadelasseñalesN2 y N3. Comoestono esposible,seproducirá un azar en la señal N4 que se transmitirá a la salida. Si estudiamosla transición“111” a “101”, podemosapreciarqueno existiránazaresde función,ya queal igual queantessóloseproduceel cambiodeunasolaseñaldeentrada.No obstantesedeberíanproducirunatransiciónsimultáneaenlasseñalesN2, N3 y N5. Comoesto no esposible,seproduciráun azaren la señalN4 (debidoa la transicióndeN2 y N3) quese unirá a otro en la salida (debido al azar de N4 y a N5). Estosúltimos azaresno son debidosa la función lógica, sino al circuito lógico que implementa la función lógica. Los azares provocados por la implementación lógica del circuito se denominan azares lógicos . En estecasoseapreciamásclaro que la no simultaneidadde las transicionessedebea los retrasos de las puertas utilizadas y a su interconexión. En el ejemploanterior, hemosobservadodoscomportamientosdiferentes.La diferencia radicaenquela señaldesalida,al alcanzarel estadoestacionario,debacambiardevalor o no. Esta diferencia nos da otra clasificación de azares: • Azaresestáticos.-dondela señalde salidaen la que se produceel azarno debería cambiarsuestado.Estetipo deazaressedebeaquedosseñalesquedeberíansercom- Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática42 plementariasentre sí, no lo son en un determinadointervalo temporaldentro del estadotransitorio.En nuestrocasoseríanN2, quedeberíavalerB, y N3, quedebería valerB; perodebidoa los retrasosdelaspuertasseobserva queenel transitorioB = B, que será imposible en el estado estacionario. • Azaresdinámicos.-dondela señaldesalidaenla queseproduceel azarsí debecam- biar deestado.Estetipo deazaressepuedever comoun azarestáticoal quesele ha añadidola transicióndeunaseñal.Ennuestrocasoseríael azarestáticoproducidopor lasseñalesN2 y N3, al quesele haañadidola transicióndela señalB a travésdeN5. Esta clasificaciónes válida tanto para azaresde función como para azareslógicos. Como hemosvisto quela forma de eliminar los azaresde función consisteen prohibir cambiosen variasseñalesdeformasimultánea,deahoraenadelantenosreferiremosa azareslógicosper- mitiendo únicamente cambios en un sola señal de entrada. A B B B C A B C N4 N1 N2 N3 F N5 N5 N3 N1 N2 N4 F Tinv TAND TAND TOR TOR TOR TOR TOR TOR TOR Tinv TAND TAND TAND A = ‘0’ B = ‘1’ C = ‘1’ N1 = ‘0’ N2 = ‘1’ N3 = ‘0’ N4 = ‘0’ N5 = ‘0’ F = ‘0’ A = ‘0’ B = ‘0’ C = ‘1’ N1 = ‘0’ N2 = ‘0’ N3 = ‘1’ N4 = ‘0’ N5 = ‘0’ F = ‘0’ A = ‘1’ B = ‘1’ C = ‘1’ N1 = ‘0’ N2 = ‘1’ N3 = ‘0’ N4 = ‘0’ N5 = ‘1’ F = ‘0’ A = ‘1’ B = ‘0’ C = ‘1’ N1 = ‘0’ N2 = ‘0’ N3 = ‘1’ N4 = ‘0’ N5 = ‘0’ F = ‘1’ Figura 3.11.- Ejemplo de azares lógicos. TEMA III.- ANÁLISIS DE CIRCUITOS COMBINACIONALES 43 Antesdeseguir conlosazareslógicos,vamosaverunanueva formatabularderepresen- tar funcionesdeconmutación,denominadamapadeKarnaugh.Estemapaesunatabladonde lascolumnasy filassonlasposiblescombinacionesquepuedentomarlasdiferentesseñalesde entrada,encontrándoseenel interior decadaceldael valor de la funciónparala combinación en cuestión.La peculiaridadde estatablaesquelas combinacionesde señalesde entradade cadaceldaadyacentedebentenerunadistanciade uno (solamenteunaseñalpuedetenerun valor diferente).Conestasituaciónseconsiguequeel caminoseguidopor un cambiodeseña- lesdeentradadebeseguir a travésdeceldasadyacentes,comprobandofácilmentela presencia de azares de función y lógicos (como ya veremos). En la figura 3.12 se mostraránlos mapasde Karnaughcorrespondientesa funciones hipotéticas de 2, 3 y 4 variables: Un ejemplode la utilidad de los mapasdekarnaughconsisteen la identificaciónde los azaresdefunción,comopodemosverenla figura3.13.Loscaminosquehansidoexpuestosno sonlos únicosquesepuedendar. En el casodel azarestáticopodemoscomprobarqueexisten doscaminosdiferentesparallevar a cabola transición.En cambio,en el casodel azardiná- mico, podemoscomprobarqueexistenseiscaminosdiferentesparaobtenerdichatransición. No obstante,conla simplecondicióndequeseobtengaunazarparaalgunadelascombinacio- nes, ya se dirá que existe el azar debido a la característica de potencial. 0 1 00 01 11 10 00 01 11 10 0 1 0 1 00 01 11 10 Figura 3.12.- Ejemplos de mapas de Karnaugh. 00 01 11 10 0 1 1101 0010 000 0 010 1 011 0 000 0 001 1 011 0 111 1 00 01 11 10 0 1 1101 0010 Azar estático Azar dinámico Figura 3.13.- Ejemplos de azares estáticos y dinámicos de función. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática44 Unavezquehemosdefinidolo queseentiendepor azary cuálessucomportamiento,el siguientepasoserádeterminarsi enun circuito enparticularsedasupresencia.Unaformade llevar a caboestatareapodríaserestudiarcadatransicióndecombincacionesdeentradadela mismaforma queen la figura 3.11.No obstante,estemétodoseríainviable debidoal creci- mientoexponencialdetransicionesconel númerodeseñalesdeentrada.Otra formamásvia- ble será la siguiente. El principalmotivo dela existenciadeazareslógicosestáticosconsisteenla apariciónde variablescomplementadasy sin complementar(quedeberíantenersiemprevaloresopuestos) conel mismovalor deformatransitoriadebidogeneralmenteal retrasodelaspuertaslógicas. Por lo tanto,a la horadeanalizaralgúncircuito en régimentransitorio(y observar la posible presenciadeazares)nopodemoshacerusodel4ºpostuladodelálgebradeBooleni delos teo- remasbasadosenél. Por lo tanto,un métodoparadetectarla presenciadeazaresestáticos,se basa en el siguiente procedimiento: A partir de la fórmula original, si existe alguna combi- nación de las señales de entrada que la transforme en alguna de las formas del 4º postulado, se puede demostrar que para dicha transición existe un azar estático. Si reducimosla fórmula a unade las expresionesdel cuartopostulado,en la transiciónde la variablequenosquedacambiarándevalor losdostérminos,y avaloresdiferentes.Ésta,como recordamos,esla condicióndeazar:uncambiosimultáneodevariasseñales(dosseñalesinter- nas en este caso). No obstante,haciendousodelosmapadekarnaugh,existeunmétodosimpleparadeter- minar la presencia de azares estáticos, el cual sigue el procedimiento expuesto a continuación: En el caso de los azares de 1, se obtiene la suma de pro- ductos de la función (sin aplicar el cuarto postulado, ni los teoremas asociados) y se rodean los 1's que son gene- rados por cada término producto. Si existen 1's adyacen- tes que no son generados por el mismo término producto, se demuestra que en dichas transiciones existen azares. En el caso de los azares de 0, se opera de la misma forma pero cambiando términos producto por términos suma, suma de productos por producto de sumas y 1's por 0's. También se puede operar de la misma forma que antes, pero teniendo en cuenta ahora la función complementada (ya que un azar de 0 se convierte en un azar de 1 en la fórmula complemen- tada). En estecaso,existen dos términossumao productoque debencambiarde valor de forma simultánea. Es decir, tendremos una condición de azar en dicha transición. En el casode azareslógicosdinámicos,no debemosperderde vista quesetratade un azarestáticoal quesele haañadidounatransición.La formadeañadiresatransiciónpuedeset a travésde un productoo unasumalógica.Por lo tanto,las ecuacionesa las quesellegaría serán las siguientes: • F = x + x·x’ TEMA III.- ANÁLISIS DE CIRCUITOS COMBINACIONALES 45 • F = x·(x+x’) Lasotrasdoscondiciones[ x·x·x’ y x+x+x’ ] no seríanazaresya quesetrataríandela misma transicióneninstantesdiferentes,esdecir, la máslentano seproduciría.En estecasoseañade quedosseñalesquedeberíantenerel mismovalor presentanvaloresdiferentes.Luego, en la manipulaciónde la fórmula lógica no seríanaplicableslos teoremasde idempotencia,absro- ción, ni los derivados de ellos. 4. Ejemplo de aplicación. A continuaciónveremoscomoejemploel análisis,tantoestacionariocomo transitorio (conrespectoa azareslógicosestáticosy al caminocrítico), del circuito mostradoenla figura 3.14: 4.1. Análisis estacionario La metadel análisisestacionarioesobtenerla funcióndel circuito quesedeseaanalizar. Este objetivo e consiguirá obteniendo la fórmula lógica y/o la tabla de verdad del circuito. La fórmula obtenida del circuito es: N1 = c’ N2 = b+N1 = b + c’ N3 = b’ N4 = N3 · N2 N5 = a·b F(a,b,c) = N5 + N4 = a·b + b’·(b+c’) A continuación,paraacabarel análisisestacionario,mostramosla tabladeverdaden la tabla 3.2. Una forma rápidade obtenerla tablaconsisteen pasarla fórmula a sumade productos (productodesumas);unavezexpresadadeestaforma,determinarlascombinacionesparalas quecadatérminoproducto(suma)tomael valor ‘1’ (‘0’); el restodecombinacionestomaráel valor ‘0’ (‘1’). A B B B C N5 N3 N1 N2 N4 F Figura 3.14.- Ejemplo de análisis estacionario y transitorio. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática46 4.2. Análisis transitorio Unavezquehemosobtenidola funciónimplementadaporel circuito,pasaremosa reali- zarel análisistransitorio.Esteanálisisllevarála determinacióndel caminocrítico asícomode los azareslógicos.En estetipo deproblemasno hayqueestudiarlos azaresdefunción,ya que éstos son inherentes a la función lógica, y no al circuito que es lo que se está estuadiando. 4.2.1. Camino crítico Paraempezarel análisistransitorio,vamosahallary cuantificarel caminocrítico.Como no nosdanlos retrasosde laspuertas,supondremosquetodastienenel mismoretraso,por lo queel caminocríticoseráaquelqueatraviesemáspuertas.Estecaminoseráel siguiente:INV- OR-AND-OR.Unavezhalladoel caminoconmayorretraso,debemosgarantizarquealguna combinación de entrada siga dicho camino: • Paraquela últimapuertaOResperea la puertaAND, sedebecumplir queN5= a·b= 0, luegoa y/o b debe valer ‘0’. • Paraquela puertaAND esperea la puertaOR,setienequecumplir queN3 = b’ = 1, luegob debe valer ‘0’. • Paraquela puertaORespereal inversor, sedebecumplirqueb = 0, luegob debevaler ‘0’. Por lo tanto,las combinacionesquesiguenel caminocrítico seránaquellasquecumplanlas condiciones anteriores. Éstas se muestran en la tabla 3.3: A B C F Términos con valor ‘1’ 0 0 0 1 b’·c’ 0 0 1 0 -- 0 1 0 0 -- 0 1 1 0 -- 1 0 0 1 b’·c’ 1 0 1 0 -- 1 1 0 1 a·b 1 1 1 1 a·b Tabla 3.2. Tabla de verdad del circuito de la figura 3.14. A B C 0 0 0 0 0 1 1 0 0 1 0 1 Tabla 3.3. Combinaciones de señales de entrada que siguen el camino crítico. TEMA III.- ANÁLISIS DE CIRCUITOS COMBINACIONALES 47 4.2.2. Azares lógicos estáticos El siguientepasodelanálisisserádeterminarla presenciadeazares(porahoraestáticos). Parautilizar el métododel mapa,partiremosde la función estacionaria,la cual pasaremosa sumade productos(sin utilizar el 4º postuladoni susteoremasasociados)paradeterminarla presencia de azares estáticos de ‘1’. F = a·b + b’·(b+c’) = a·b + b’·b + b’·c’ El mapadekarnaughsemuestraenla figura3.15.El términob’·b notieneningún‘1’ yaquesu valor estacionarioes‘0’. En el mapapodemosapreciarqueexistendos1’s adyacentesqueno sonagrupadosporel mismotérmino,luegoexistiráunazarparadichacombinación.Estacom- binaciónesA=’1’, B= b, C = ‘0’, por lo queel azarseproduceparala transiciónenla señalB. Paraestudiarla presenciade azaresde ‘0’, pasaremosla función a productode sumas, paralo cualcomplementaremosdosvecesla expresiónensumadeproductos(denuevo sinuti- lizar el 4º postulado ni sus teoremas asociados). F’ = (a’+b’)(b+b’)(b+c) = (a’·b + b’)(b+c) = a’·b + b’·b + b’·c F = (a+b’)(b+b’)(b+c’) Enestecaso,el mapadekarnaughseráel mostradoenla figura3.16.Denuevo, podemosapre- ciarqueexistendos0’sadyacentessinqueseanenglobadosporel mismotérminosuma.Porlo tanto, existirá un azar para la combinación A=’0’, B=b, C=’1’. 00 01 11 10 0 1 0100 1101 AB C F A·B B’·C’ Figura 3.15.- Obtención de azares lógicos estáticos de ‘1’, utilizando el mapa de karnaugh. 00 01 11 10 0 1 0100 1101 AB C F A+B’ B+C’ Figura 3.16.- Obtención de azares lógicos estáticos de ‘0’, utilizando el mapa de Karnaugh. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática48 Un métodoparaeliminarlosazaresestáticosconsisteenevitar situacionescomolasdes- critasanteriormente,esdecir, queno existan1's (0's) adyacentessin queseancubiertospor algunapuerta.Por lo tanto,añadiremostérminosproducto(paralos azaresde ‘1’) y términos suma(paralos azaresde ‘0’) queenglobenlos 1’s y 0’s adyacentesqueno seanenglobados paraun mismotérminoproductoy suma.Debemosnotarqueunaexpresiónentérminossuma (producto) no contará con la presencia de azares de ‘1’ (‘0’). Si se lleva a caboestemismoestudiopor métodosalgebraicos,llegaremosa la misma conclusión.La fórmula de partidaes:F = a·b+ b’·(b+c’). La condiciónde quepuedaexistir azarestáticoesqueunamismaseñalaparezca,negaday sin negar; luego en el casoquenos ocupa sólo puede existir para una transición en la señal b. • F = b + b’, • se tiene que cumplir que a·b = b, luego a=1 • se tienequecumplir queb’·(b+c’) = b’, luego b+c’=1 (sin dar ningúnvalor a la variable b en la que se producirá la transición), por lo que c=0 • F = b·b’ • se tiene que cumplir b’·(b+c’) = b’·b, luego c=1 • para evitar la influencia del término a·b se tiene que cumplir que a·b=0, luego a=0 Por lo tanto, podemosapreciarque existe un azarde ‘1’ parauna transiciónen la señalb cuandoa=1y c=0; y existeun azarde‘0’ paraunatransiciónenla señalb cuandoa=0y c=1. Estos resultados corroboran el análisis llevado a cabo mediante los mapas de Karnaugh. 4.2.3. Azares lógicos dinámicos Un azarlógico dinámicoesun cambiotransitoriodeun valor desalidaquesólodebería tenerunatransición,peropresentamásdeunadeellas(generalmentetres)anteunatransición en una variable de entrada. El principalmotivo dela existenciadeazareslógicosdinámicosconsisteenla aparición de variablescomplementadasy sin complementar(comoen los azaresestáticos)quesiguen más de un camino, tal que la función pueda escribirse de la siguiente forma: F = a1 + a2·a'3 --> F= a1·(a2 + a'3) Donde1, 2 y 3 identificantrescaminosdiferentesdesdela entradaahastael nododesalida.El azardinámicoviene dadopor la diferenciade retrasoscomo indica la siguientesecuencia, como podemos ver en la figura 3.17. De aquíobtenemosun métodoparadetectarlos azaresdinámicos.El procedimientoa seguir es el siguiente: Se etiquetan los diferentes caminos que puede seguir caminos una variable hasta el nodo de salida, tomando las variables etiquetadas con índice diferentes como varia- bles distintas. Por lo que además de no poder usar el 4º postulado, tampoco se puede usar los teoremas de idempo- tencia, ni los asociados. TEMA III.- ANÁLISIS DE CIRCUITOS COMBINACIONALES 49 Se obtiene de nuevo la fórmula de productos y de sumas, y se trata de reducir a una de las expresiones mencionadas anteriormente, dando valores al resto de entradas. Si dicha transformación es posible, se dice que el circuito tiene un azar lógico dinámico. Si volvemos al ejemplo anterior, la fórmula lógica quedaría de la siguiente forma: F = a5·b5 + b3’·(b2+c1’) Según lo anteriormentevisto, sólo sepodránencontrarazaresdinámicosen aquellasseñales quesigan treso máscaminosdiferentes(en los quehayanegadosy sin negar). Por lo tanto, solopodremosencontrarazaresdinámicosenla señalB. Si pasamosla fórmulaasumadepro- ductos: F = a5·b5 + b3’·(b2+c1’) = a5·b5 + b3’·b2 + b3’·c1’ Luego seobserva la presenciade un azardinámicoen la señalB cuandoA=’1’ y C=’1’. La señal C debe valer ‘1’ ya que b3’·b2 + b3’= b3’. Al pasar la fórmula a producto de sumas, obtendríamos: F’=(a5’+b5’)(b3+b2’)(b3+c1) = (a5’·b3+a5’·b2’+b5’·b3+b5’·b2’)(b3+c1) = a5’·b3 + a5’·b2’·c1+ b5’·b3 + b5’·b2’·c1 F = (a5+b3’)(a5+b2+c1’)(b5+b3’)(b5+b2+c1’) El presuntoazarestaríaformadopor el término (b5+b3’) y otro término dondeestuviesela señalB en otro caminodiferente,comob2. Los términos(a5+b3’) y (b5+b2+c1’) debenvaler ‘1’ paraqueno influyanenel comportamiento,por lo tanto,A = ‘1’ y C = ‘0’. Conestosvalo- res la fórmula quedaría: F = (b5+b3’) a1 a2 a3’ F a1 a2 a3’ F Figura 3.17.- Comportamiento de los azares dinámicos. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática50 quenoesningunacondicióndeazardinámico.Porlo tanto,concluimosconquesóloexisteun azardinámico.El término (b5+b2+c1’) no ha sido consideradocomo posiblecaminode b2 debidoa la presenciadeb5. Éstadeshabilitaríala diferenciaderetrasoentreb2 y b5, eliminado el tercer camino de la variable b. Unanotaimportanteesquesi no existenazaresestáticos,tampocoexistenazaresdiná- micos.Estoesdebidoa quecualquiersituacióndeazardinámicolleva implícito un azarestá- tico. Por lo tanto,paraevitar situacionesde azaresdinámicos,bastaríacon evitar todoslos azares estáticos. ElectronicaDigital_Apuntes_Problemas/Tema4_CircuitosCombinacionalesII.pdf TEMA IV.- DISEÑO DE CIRCUITOS COMBINACIONALES. Comoya hemoscomentado,el problemadel diseñoo síntesisconsisteendeterminarun circuito quecumplacon unasdeterminadasespecificaciones,tantode comportamientocomo de funcionalidad. Este problema se puede dividir en dos partes: • Obtención de la función de conmutación que cumpla la funcionalidad deseada. • Obtenciónde los circuitos que implementadicha función con el comportamiento deseado. La obtenciónde la función de conmutacióna partir de unasespecificacionesno tiene una metodologíaestablecidasinoquedependede la periciadel diseñadory de la precisiónde las especificaciones dadas. Así, por ejemplo,vamosa considerarel diseñodel sistemamostradoenla figura4.1.Se tratadeunsistemaqueoperesobreel estadodeoperacióndeunalíneademontajequedispone dedossensores:pesoenla cinta(A), y fin dela cinta(B). El sistemadebesertal quelosmoto- resdebenactuarsiemprey cuandohayaalgoenla cinta.La funcióndeconmutaciónquecum- pla estasespecificacionespuedeser la mostradaen la mismafigura, esdecir, exista un peso sobre la cinta (A=1) y no haya llegado al final (B=0). El problemade la obtenciónde un circuito queimplementala función de conmutación dadasí tieneunasmetodologíasbienestablecidas.La realizacióndeestapartedependedelos elementoscon los quese implementeel circuito. Podemosdistinguir los siguientestipos de diseño: • Diseñosemi-custom.- Losbloquesquedisponemosseránpuertaslógicasexistentesen alguna librería disponible. B A A B Y 0 0 0 0 1 0 1 0 1 1 1 0 Figura 4.1.- Ejemplo de un problema de diseño. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática52 • Diseño MSI.- Los bloquesdisponiblesserángrandesbloquesde una complejidad media, como pueden ser bloques sumadores. • Diseñoprogramable.-Losbloquesdisponiblesserándispositivosprogramablesenlos que se programará la función deseada. • Diseñofull-custom.- No sedispondrádeningúnbloque,sinoquetodoslos elementos necesarios, simples o complejos, deberán ser generados por el diseñador. Cadaunodeestostiposseráobjetodeestudioendiferentestemas.Concretamente,enel pre- sente tema estudiaremos el diseñosemi-custom. 1. Intr oducción. En el diseñosemi-custom, podemosdistinguir entreimplementacionesen dosniveleso multiniveles,dondelosnivelessonel númeromáximodepuertasqueestánconectadosencas- cada(en los nivelesno sesuelencontarlos inversoresdeentrada).La implementaciónendos nivelesesdel tipo desumadeproductoso deproductodesumas;encambio,la implementa- ción multinivel correspondea una fórmula complejaen las que las operacionesAND y OR aparecen mezcladas. La implementaciónendosnivelestienela ventajadeserrápida,solamenteel retrasode dospuertas;en cambio,comocontraposición,las puertasdeberántenerun mayornúmerode entradas,siendomáscomplejasy lentas.Mientras,la implementaciónmultinivel tienela ven- tajadeusarpuertasmáspequeñasy rápidas(por lo general),peroel circuito global serámás lentoal tenerunretrasodemásdedospuertas.En la figura4.2mostramosdosimplementacio- nes de la misma función: en dos niveles y en multinivel. La metadeldiseñadorconsisteenunarealizaciónmínimadeuncircuitoqueimplemente una determinadafuncionalidad.Los criterios de minimalidadque debenseguir son los que vimos en el tema II, con el orden siguiente: • Menor número de términos (que equivalen a puertas) • Menor númerode variables,incluso en los diferentestérminos(que equivalen al número de entradas) A B B B C F A B B C F Figura 4.2.- Diferencia entre una implementación (a) en dos niveles y (b) multinivel. (a) (b) TEMA IV.- DISEÑO DE CIRCUITOS COMBINACIONALES. 53 • Menor valor asociado. La implementaciónmínima multinivel no tiene un métodobien establecidoy los que existen son muy complejos. Por lo tanto, lo que se suele hacer es: • Dividir el diseñoen variaspartes,implementadasen dosnivelescadauna,y unirlas posteriormente. • Obtenerunaimplementaciónendosnivelesy unavezquetengamosla fórmula,ope- rar mediante el álgebra de Boole para unir los términos posibles. Luego, la implementaciónendosnivelessueleserla baseparala implementaciónmultinivel. Esta es la razón por la que nos vamos a centrar en este tipo de implementación, de dos niveles. A la horadeplantearnosunafórmulamínima,debemosdiferenciardoscasosdefuncio- nes:funcionesconunasaliday funcionesconmásdeunasalida.Estadiferenciaciónesdebido aqueunasoluciónporseparadodecadasalidapuedequenoseamínimasi contamoscontodas lassalidassimultáneamente.En la figura4.3 vemosdosfuncionescuyaimplementacióncon- junta muestra un coste menor que su implementación por separado: Una vez quehemosvisto la necesidadde realizarestadistinción,existendosmétodos para implementar funciones en dos niveles: • Métododel mapa.-sueleserusadoparaimplementarfuncionesindependientes,y por lo tanto funciones de una sola salida, basándose en los mapas de Karnaugh. • MétododeMcCluskey.- sueleserempleadoparaimplementarfuncionesmultisalida, aunque también se puede usar para funciones con una sola salida. 00 01 11 10 0 1 0110 0010 AB C F1 00 01 11 10 0 1 0100 0110 AB C F2 F1 = A’·B + B·C F2 = B·C’ + A·B Nº puertas AND: 4 Nº puertas OR: 2 Implementación separada F1 = A’·B + A·B·C F2 = B·C’ + A·B·C Nº puertas AND: 3 Nº puertas OR: 2 Implementación conjunta Figura 4.3.- Diferencia entre la implementación monosalida y multisalida. F1 F2 C B B A B C B A F1 F2 C B B A C B A Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática54 2. Método del Mapa. Estemétodosebasaenel mapadeKarnaughy el 4º postuladodel álgebradeBoole.Si recordamoslos mapasde Karnaugh,consisteen unarepresentacióntabular en dosdimensio- nes,tal quecadaceldaadyacente(geométricamentehablando)tambiénesadyacentedesdeel puntodevistade la distanciadeHamming.Debidoa la característicadequetodaslasceldas adyacentestienenunadistanciaiguala la unidad(sólocambiaunavariable),sepuedendemos- trar las siguientes igualdades: Un grupode1’s adyacentesenun número igual a unapotenciadedos,esrealizado por el términoproductode las variablesqueno cambiandevalor, tomándolascomo sin complementar si valen ‘1’ y complementadas si valen ‘0’. Supongamosquetenemosun grupode dos1’s adyacentesen los quela variablequecambia seaxn. Losposiblesmintérminosdedichos1’spodríanserx1·...·xn·...·xm y x1·...·xn’·...·xm. Una posiblefórmulade la funciónquetendríadichos1’s seríala sumade los mintérminos,por lo tanto: F = x1·...·xn·...·xm + x1·...·xn’·...·xm= x1·...·xn-1·(xn+xn’)xn+1·...·xm = x1·...·xn-1·xn+1·...·xm esdecir, seríael productodetodaslasvariables(complementadaso sincomplementar)excepto la variable que ha realizado el cambio. Supongamosahoraqueel grupoesdecuatro1’s adyacentesenlos quelasvariablesquecam- bian son xn y xp. Los posibles mintérminos podrían ser x1·...·xn’·...·xp’·...·xm, x1·...·xn·...·xp’·...·xm, x1·...·xn’·...·xp·...·xm y x1·...·xn·...·xp·...·xm. Si sumamoslos mintérminosy operamos, obtenemos: F = x1·...·xn’·...·xp’·...·xm + x1·...·xn·...·xp’·...·xm + x1·...·xn’·...·xp·...·xm + x1·...·xn·...·xp·...·xm = = x1·...·xn’·...·(xp’+xp)·...·xm + x1·...·xn·...·(xp’+xp)·...·xm = = x1·...·(xn’+xn)·...·xp-1·xp+1·...·xm = x1·...·xn-1·xn+1·...·xp-1·xp+1·...·xm Luego, la afirmaciónanterioresverificadaparalos gruposdepotenciadedos.Perosuponga- mosquetenemostres1’s adyacentes.El númerode variablesquecambiansonde nuevo de dos. Supongamos que los mintérminos son: x1·...·xn’·...·xp’·...·xm, x1·...·xn’·...·xp·...·xm y x1·...·xn·...·xp·...·xm, variandode nuevo xn y xp. Si realizamoslas sumasy operamossegún el álgebra de Boole obtenemos: F = x1·...·xn’·...·xp’·...·xm + x1·...·xn’·...·xp·...·xm + x1·...·xn·...·xp·...·xm = = x1·...·xn’·...·(xp’+xp)·...·xm + x1·...·xn·...·xp·...·xm = = x1·...·xn’·...·xp-1·xp+1·...·xm + x1·...·xn·...·xp·...·xm Porlo tanto,losgruposdebentenerunnúmerode1’s igualaunapotenciadedos,esdecir, 1, 2, 4, 8, 16, 32, 64,... Porunaaplicacióndirectadel principio dedualidad,obtenemosunasdefinicionesequi- valentes para el caso de los 0’s y de los términos sumas. Un grupode0’s adyacentesenun número igual a unapotenciadedos,esrealizado por el términosumade las variablesqueno cambiandevalor, tomándolassin com- plementar si valen ‘0’ y complementadas si valen ‘1’. TEMA IV.- DISEÑO DE CIRCUITOS COMBINACIONALES. 55 Supongamosquetenemosun grupode dos0’s adyacentesen los quela variablequecambia sea xn. Los posibles maxtérminos de dichos 0’s podrían ser x1+...+xn+...+xm y x1+...+xn’+...+xm. Unaposiblefórmulade la funciónquetendríadichos0’s seríael producto de los maxtérminos, luego: F = (x1+...+xn+...+xm)(x1+...+xn’+...+xm) = x1+...+xn-1+xn+1+...+xm + xn·xn’ = = x1+...+xn-1+xn+1+...+xm esdecir, seríala sumadetodaslasvariables(complementadaso sin complementar)exceptola variable que ha realizado el cambio. Parael restodela demostraciónseoperasiguiendolosmismopasosqueenel casodelos grupos de 1’s. Veamosun ejemploal respecto.En la figura4.4semuestrael mapadeKarnaughdeuna funcióncuyafórmulademintérminosesF(A,B,C,D)= ∑ m( 1, 5, 7, 10,11,14,15).Podemos apreciarqueendichafunciónpodemosformarcuatrogruposde1’sadyacentes,etiquetadosI1, I2, I3 e I4. Dichos grupos se corresponderáncon los siguientestérminos producto (puestoque hemos agrupados los 1’s): • I1 = m(10)+ m(11)+ m(14)+ m(15)= A·B’·C·D’ + A·B’·C·D + A·B·C·D’ + A·B·C·D = A·B’·C·(D+D’) + A·B·C·(D+D’) = A·B’·C + A·B·C = A·(B’+B)·C = A·C • I2 = m(7) + m(15) = A’·B·C·D + A·B·C·D = (A’+A)·B·C·D = B·C·D • I3 = m(5) + m(7) = A’·B·C’·D + A’·B·C·D = A’·B·(C+C’)·D = A’·B·D • I4 = m(1) + m(5) = A’·B’·C’·D + A’·B·C’·D = A’·(B’+B)·C’·D = A’·C’·D Por lo tanto,tenemostérminoscondosentradas(el grupoI1) y con tresentradas(los grupos restantes).Comopodemoscomprobar, los términoscon un númeromenorde entradasserán aquellosquemás1’s engloben,ya quehabrámásseñalesdeentradaquecambien(conlo que no influirán endichotérmino).Un posiblegrupoformadopor los mintérminosm(10)y m(11) no será considerado ya que se encuentra completamente dentro del grupo I1. 00 01 11 10 00 01 0011 0000 AB CD F = ∑m(1,5,7,10,11,14,15) 1100 111011 10 I4 I3 I2 I1 Figura 4.4.- Ejemplo de grupos de 1’s adyacentes en un mapa de karnaugh. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática56 En relación con estos grupos de 1’s (0’s), tenemos las siguientes definiciones: Un implicante prima o implicante esungrupode1’s (0’s)conunnúmero igual a una potenciadedosqueno estácontenidototalmenteenotro grupodelas mismascarac- terísticas. Si observamos en el ejemplo anterior, podemos ver que todos los implicantes son primas. Cuandoalgún ‘1’ (‘0’) escubiertopor un solo implicante, sedice quedicho impli- cante esesencial. Si observamosenel ejemploanterior, podemosidentificarquelos implicantesI1 e I4 sonesen- ciales, mientras que los I2 e I3 no son esenciales. Una vez que se han definido los implicantes, podemos demostrar que Teorema 4.1.- La fórmulamínimadela funciónseráaquellacompuestapor la unióndelos implicantesesencialesy puedeque de algunosno esenciales,de tal forma que cubramos toda la tabla. Demostración.-En la fórmuladeberánestarincluidostodoslos 1’s (0’s) dela función.Luego, los implicantesqueestaránpresentesenla fórmuladebencubrir todoslos1’s (0’s).Pordefi- nición de implicanteesencial,esel único implicantequecubrea algún1 (0); por lo tanto, paraquedicho1 (0) estéinvolucradoenla fórmula,dichoimplicantedebeaparecerenella. No obstante,puedeque exista algún 1 (0) cubiertopor implicantesno esenciales;luego puedeque algunode estosimplicantesno esencialesdebanapareceren la fórmula para cubrir algún 1 englobado sólo por implicantes no esenciales. Estauniónseráa travésdesumas,cuandoestamosconsiderandolos1’sy los implicantes se corresponderáncon términosproductos;o través de productos,cuandoestemosconside- rando los 0’s y los implicantes se corresponderán con términos sumas. Si consideramosla funcióndel ejemploanterior, y consideramosla fórmulacomosuma de productos (consideraremos los 1’s), todas las fórmulas de dicha función serán: f = I1 + I3 + I4 = a·c + a'·b·d + a'·c'·d, f = I1 + I2 + I4 = a·c + b·c·d + a'·c'·d, f = I1 + I2 + I3 + I4 = a·c + b·c·d + a'·b·d + a'·c'·d Las dos primerassolucionestienenel mismo coste,siendoel mínimo, mientrasque en la última puedeeliminarseun implicante,I2 o I3, lo cual nosllevaráa unaimplementaciónno mínima.Luego,segúnlo visto,podemosencontrarnosconfórmulasenlasquepodemoselimi- naralgúntérminoy conotrasen lasqueno sepuedeeliminarningúntérmino.Según las fór- mulas podemos encontrar las siguientes definiciones: Una fórmula sedenominairredundante cuandono sepuedeeliminar ningúnimpli- cantesin que cambia la función lógica. En casocontrario se denominaráredun- dante. Lasdosprimerasfórmulasseránirredundantesya quesi eliminamosalgúnimplicante,la fun- ción lógica querepresentacambiará.En cambio,la tercerafórmula esredundanteporquese puede eliminar el implicante I2 o I3 sin que cambie la función lógica. TEMA IV.- DISEÑO DE CIRCUITOS COMBINACIONALES. 57 Unasituacíónqueno nospuedellevar a errorconsisteenquepodemosobtenerunafór- mula irredundante no mínima. Por ejemplo las siguientes fórmulas F1 = a’·b + a’·b’·d + a·b·d F2 = a’·b + a’·d + b·d son equivalentesy tambiénson irredundantes.No obstante,quedaclaro que la fórmula F1 tiene un coste mayor debido a la utilización de puertas on un mayor número de entradas. Los mapasde Karnaughmantienensu peculiaridad(diferenciarseen unavariablesólo paralas celdasadyacentes)paralas funcionescon cuatrovariableso menos.Si aumentamos estenúmero,por ejemploa cinco variables(figura 4.5), podemosver queexistenceldascon unadistanciaigual a 1 (y por lo tanto,sepuedenunir en un mismo implicante)queno son adyacentes(desdeunpuntodevistageométrico).Enel mapadecincovariablesmostradoexis- ten columnasquesedebenunir en un mismoimplicantequeno sonadyacentesgeométrica- mente.La columna010tendráunadistanciadeHammingde1 conrespectoa la columna000, perono sonadyacentes,por lo queel implicantea'·c'no seríafácilmentedistinguiblepor el método del mapa. Para resolver este problema, existen dos soluciones. La primerasoluciónconsisteenla aplicacióndelos teoremasdeexpansión:f(x5, x4, x3, x2, x1) = x5·f(1, x4, x3, x2, x1) + x5'·f(0, x4, x3, x2, x1), obteniendolos implicantescorres- pondientesa lasfuncionesf(1, x4, x3, x2, x1) y f(0, x4, x3, x2, x1) queyasondecuatrovaria- bles.Unavezquetengamosla fórmulaescritadeestamanera,sereduce(si esposible)conel cuartopostulado.El resultadodeestaformadependeampliamentedela periciadeldiseñadora la horade la reducción.En el casode funcionesde un númeromayorde variables,seaplica sucesivamente los teoremas de expansión hasta reducir la función a varias de cuatro variables. Porejemplo,consideremosla funciónF(x5,x4, x3, x2, x1)= ∑ m(0,2, 8, 10,30,31).En la figura 4.6 mostramoslos mapasde Karnaguhde dichafunción, tantoen el mapade cinco variables como aplicando el teorema de expansión sobre la variable x4 El teorema de expansión nos dice que F = x4·F(x4=1) + x4’·F(x4=0), es decir F = x4 · (x5·x3·x2 + x5’·x3’·x1’) + x4 · (x5’·x3’·x1’) Y pasamosa reducirla fórmulautilizandolos diferentespostuladosdel álgebradeBoole,por lo que la función queda: 000 001 011 010 00 01 AB CD F 11 10 100101111110 Figura 4.5.- Ejemplo de mapa de karnaugh de cinco variables. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática58 F = x5·x4·x3·x2 + x5’·x3’·x1’ La segundaformaconsisteenla obtencióndelasimplicantesprimaspormétodostabula- res.Uno deestosmétodosesel denominadométodopor carácterbinario.Consisteenponerla combinaciónde todoslos mintérminosqueseencuentranen la función.Los mintérminosse agrupanpor el númerode1's.Seunenaquellosquesólosediferencianenunavariable(por lo quesólo hay quemirar en los gruposadyacentes),eliminandodichavariable.Esteprocedi- miento se repite mientrasse pueda.Los implicantesprimas seránaquellosque no se han podidorepetir, de tal forma queel productoestaráformadoúnicamentepor las variablesque quedende la mismaformaqueenel métododel mapa(complementadasi suvalor es0, o sin complementar si su valor es 1, en el caso de considerar los 1’s). Veamosel ejemploparala funciónf = Σ m(0,2, 8, 10,30,31),cuyaejecuciónsemuestra en la figura4.7.Al agruparlos mintérminospor el númerode1’s, noshanquedado5 grupos diferentes(A={0}, B={2,8}, C={10}, D={30}, E={31}). Estosgrupossonagrupadosconsus adyacentessegún el número de 1’s, tal que nos quedantres grupos: A1={(0,2), (0,8)}, B1={(2,10), (8,10)} y C1={(30,31)}. Tenemosquenotarquelos gruposC y D no sepueden agruparya queno sonadyacentes(el grupoC tienedos1’s y el D tiene4 1’s).En los agrupa- mientos,la variablequehasufridoel cambioseelimina,por lo quecolocamosensuposición un guión. Parael nuevo agrupamiento,los mintérminosa agruparsolamentedebentenerun valor diferente(incluyendoceros,unosy guiones),por lo tanto, tambiéndebemosteneren cuentaqueno todoslos elementosdegruposadyacentespuedenseragrupados(como(0,2) y (2,10)). Si realizamosun nuevo agrupamientonos quedandos grupos,A2={(0,2,8,10)} y B2={(30,31)}. Comopodemosobservar, ya no sepuederealizarningúnagrupamientomás. Por lo tanto, los implicantes obtenidos para esta función han sido dos: x5'·x3'·x1' y x5·x4·x3·x2.Encambio,observandosimplementeel mapadeKarnaughdela figura4.6,el pri- mer implicante no se apreciaría. 000 001 011 010 00 01 11 x5 x4 x3 x2 x1 F 11 11 10 1 1 100101111110 00 01 11 10 00 01 1 x5 x3 x2 x1 F 1 11 10 00 01 11 10 00 01 1 x5x3 x2 x1 F 11 111 10 Figura 4.6.- Mapas de Karnaugh de la función F(x5, x4, x3, x2, x1)=∑ m(0, 2, 8, 10, 30, 31) F(x4=0) F(x4=1) TEMA IV.- DISEÑO DE CIRCUITOS COMBINACIONALES. 59 Hastaahorasólohemosconsideradofuncionescompletas.Parael casode las funciones incompletas,lasinespecificacionessetratanparaaumentarel tamañodelos implicantes.Si las especificaciones no pueden aumentarlos, no se tienen en cuenta. Veamosel ejemplodela figura4.8.Lasinespecificacionesenlos mintérminos3 y 6 nos hanservidoparapasardetresimplicantesdetresvariablesa dosimplicantesdedosvariables. Encambio,la inespecificación12nonossirveparaaumentarningúnimplicante,por lo queno seconsidera.En la nuevafunción,sepuedeobservarquelos implicantesI1 y I3 sonesenciales, mientrasqueel I2 no. En estecaso,la funciónmínimasóloesla sumadelos dosimplicantes esenciales, es decir, f = a·c + a'·d. Si en lugar de quererunaimplementaciónde sumade productos,queremosunaimple- mentacióndeproductodesumas,seoperadela mismaformaperoconloscerosy los términos sumas.Comorecordaremos,la únicadiferenciaparapasardel términosumaala operaciónOR conrespectoal pasodel términoproductoa la operaciónAND, consisteenqueahorala varia- ble aparecerá complementada si tiene el valor 1 y sin complementar si tiene el valor 0. En el casodel ejemploanterior, en la figura 4.9 mostramosla implementaciónen pro- ducto de sumas: x5 0 0 0 0 1 x4 0 -- -- 1 1 x3 0 0 0 0 1 x2 -- 0 1 -- 1 x1 0 0 0 0 -- 0,2 0,8 2,10 8,10 30,31 x5 0 0 0 0 1 1 x4 0 0 1 1 1 1 x3 0 0 0 0 1 1 x2 0 1 0 1 1 1 x1 0 0 0 0 0 1 0 2 8 10 30 31 x5 0 1 x4 -- 1 x3 0 1 x2 -- 1 x1 0 -- 0,2,8,10 30,31 Figura 4.7.- Obtención de los implicantes de una función de cinco variables mediante el método tabular 00 01 11 10 00 01 0011 0φ00 AB CD F = ∑m(1,5,7,10,11,14,15) +φ (3, 6, 12) 11φ0 111φ11 10 I3 = A’·D I2 = B·C I1 = A·C Figura 4.8.- Ejemplo de diseño de una función incompleta utilizando el método del mapa. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática60 3. Método de McCluske y Como ya hemosapuntado,cuandoestamosconsiderandouna función multisalida, la posibilidaddecompartirpuertasparavariassalidaspuedeconducirnosa unaimplementación másóptima.Luego deberemosencontrarun métodoquele dé un mayorpesoa los términos comunes a la hora de su elección para desarrollar la fórmula lógica. El métododel mapano esapropiadoparala implementacióndefuncionesmultisalidaal no considerarla posibilidaddetérminoscomunesen lasdiferentessalidasde la función.Esta consideraciónsí sellevaacaboenel métododeMcCluskey. Porlo tanto,al considerarfuncio- nes multisalida, la definición de implicante cambia de la siguiente forma. Los implicantesdeunafunciónmultisalidaseránaquellosimplicantesdelas salidas por separado comode todas las posiblescombinaciones(productosen el casode sumade productoso sumasen el casode productode sumas)de las diferentessali- das. Si tenemosunafuncióncontressalidas,F, G y H, y queremoshallarsusumadeproductos,los implicantesdela funciónseránaquelloscorrespondientesaF·G·H,F·G,F·H,G·H,F, G y H, de tal formaquesiguiendoesteordennoseañadanlos implicantesrepetidos.De igual forma,si la implementaciónfueseen productode sumas,los implicantesde la función seríanlos corres- pondientes a F+G+H, F+G, F+H, G+H, F, G, H. A partir de ahora,y salvo que se diga lo contrario,supondremosque la fórmula que deseamosobtenerdeberáestaren sumade productos.En el casode productode sumas,el desarrollo es paralelo considerando el principio de dualidad. Unavezquetengamostodoslos implicantes,creamosla denominadatabladeMcClus- key. En dichatabla,cadafila correspondea un implicantey cadacolumnacorrespondea un 1 de cadafunción.Dicha tablasedivide por salida(según las columnas)e implicantesde cada salida(según las filas). Semarcanlos 1's obtenidospor cadaimplicanteen cadasalida.Un ejemplode dichatablasemuestraen la figura 4.10.En ella podemosver implicantesde una solasalida(el implicante1 y 2 paraF1 y el n paraF2) e implicantesparadossalidas(el impli- cante 3). 00 01 11 10 00 01 0011 0φ00 AB CD F = ∑m(1,5,7,10,11,14,15) +φ (3, 6, 12) = ∏ M(0,2,4,8,9,13)·φ (3, 6, 12) 11φ0 111φ11 10 I1 = C+D I3 = A+D I2 = A’+C F = (A+D)(A’+C) Figura 4.9.- Ejemplo de diseño de una función incompleta en producto de sumas. TEMA IV.- DISEÑO DE CIRCUITOS COMBINACIONALES. 61 La reduccióndeestatablanosllevaráal númeromínimodeimplicantesqueseránnece- sariosparacubrir todoslos mintérminosde las salidas,y por tantoa la fórmula mínima.La minimizaciónsereducea la aplicaciónsucesiva delos criteriosdeesencialidady dedominan- cia, y eventualmentedeequivalencia,hastaqueesténcubiertostodoslos 1’s detodaslassali- das. El criterio de esencialidadnosindica cuálesde los implicantessonesenciales,y por lo tanto, deben aparecer en la fórmula mínima. Un fila esencial es aquella cuyo implicante es esencial para alguna de las salidas. Este implicantedebeapareceren la fórmula de la salidacorrespondiente.Una vez cogido dicho implicante,setachala fila dondeestabay todaslascolumnasmarcadasendichafila ya quedichos1'shansidoobtenidos.Esteprocesoserepiteparatodaslasfilas esenciales.En la tabla,la esencialidadseobserva cuandoexistealgunacolumna(algún1) queúnicamentetiene una cruz (es cubierto por un solo implicante); luego el implicante de dicha cruz es esencial. Unavezqueya no existanmásfilas esenciales,pasamosa aplicarlos criteriosdedomi- nancia.Estecriterionosindicalos implicantesquesonredundantes,y por lo tanto,no deberán aparecer en la fórmula mínima. Una fila o implicanteA sedicequedominaa otro B, representándoseA ⊃ B, si todas las marcas de B están contenidas en A, que a su vez tiene más. En este caso se puede eliminar el implicante B tachando su fila. Sedice queA y B sonequivalentessi todaslas marcasdel implicanteA estánen el implicante B que no tiene ninguna más. Enestecasosepuedeeliminarcualquieratachandola fila correspondiente,noobstanteporcri- teriosdeminimalidadseeliminaaquelimplicantequetienemayorcoste(esdecir, el quetiene más variables de entrada). Implicante 1 Implicante 2 Implicante 3 Implicante n mi mj mk . . . mn ma mb mi mn . . . ml F1 F2 Figura 4.10.- Ejemplo de una tabla de McCluskey. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática62 Supongamosquedeseamosdiseñarun circuito quetenga dossalidasdefinidaspor f1= ∑m(1,3,7) y f2 =∑m(2,6,7). Los implicantes de esta función se muestran en la figura 4.11. En la figura4.12semuestrael procesocompletodeminimización.En la figura4.12(a) mostramosla tabladeMcCluskey original,enla quesepuedenver los implicantescomunesa lasdossalidas(I1), y los decadaunadeellas(I2 e I3 paraF1, I4 e I5 paraF2).Así mismo,en lascolumnasseencuentranlos mintérminosdecadasalidapor separado(comoel mintérmino 7 es común a ambas, se coloca dos veces, una en cada salida). En la figura4.12(b), sehaaplicadoel criteriodeesencialidad.Secompruebaqueexisten dosimplicantesesenciales;I3 paraF1 debidoal mintérmino1, e I4 paraF2 debidoal mintér- mino2. Luegoambosimplicantesapareceránenlasfórmulascorrespondientes.Al aparecerya en las fórmulas,los mintérminoscubiertospor dichosimplicantesy paraesassalidasno son necesariosquesecubrande nuevo. Luego, soneliminadasdichasfilas (o la partecorrespon- dientea la/ssalida/sparalosquesonesenciales)y lascolumnascubiertaspordichosimplican- tes.Por lo tanto,obtenemosunanueva tablaenla queapareceránlos implicantesI1, I2 e I5, y las columnas 7 de ambas salidas. Seguidamenteseaplicalos criteriosde dominancia(figura 4.12c).Dichoscriterioshay queaplicarlossobrela fila completa,y nosobrecadasalidaporseparado.Deestaformagaran- tizamosquesepremiaa los implicantescomunesamásdeunasalida,yaquetendránmáscru- ces.En estecaso,podemosobservar queel implicanteI1 dominaa los otrosdos.Por lo tanto, estos últimos serán eliminados. Despuésdeeliminarlos implicantesdominados,volvemosaaplicarloscriteriosdeesen- cialidadsobrela nueva tabla(figura 4.12d).En estecasoobservamosqueel implicanteI1 es 00 01 11 10 0 1 0100 0000 AB C F1·F2 00 01 11 10 0 1 0111 0000 AB C F1 00 01 11 10 0 1 0100 0110 AB C F2 I1 = A·B·C I2 = B·C I3 = A’·C I4 = B·C’ I5 = A·B Figura 4.11.- Implicantes de una función multisalida. TEMA IV.- DISEÑO DE CIRCUITOS COMBINACIONALES. 63 esencialparaambassalidas,luego deberáaparecerenambasfórmulas.Unavezhechoesto,se elimina la fila de los implicantesesenciales(o lasporcionesdeellas),asícomolascolumnas donde tengan cruces. Esteprocedimientofinalizarácuandono exista ningunacolumnaen la tabla.Con ello garantizamos que todos los mintérminos de todas las funciones estarán cubiertos. Sepuededarel casodequeunavezquehayamosutilizado los criteriosde implicantes esencialesy dominantes,no sepuedanseguir aplicandoya queno existe ningún implicante dominantesobreotro. Entoncesllegamosa lo que se conocecomo tabla de implicantes cíclica. A partir de estemomentono existe ningúnmétodoquenosdé unasoluciónmínima. Lo único que se puedehaceres elegir una implicantede forma arbitrariacomo esencialy I1 I2 I3 I4 I5 1 3 7 2 6 7 F1 F2 F1 = I3 + F2 = I4 + (a) I1 I2 I3 I4 I5 1 3 7 2 6 7 F1 F2 (b) I1 I2 I3 I4 I5 1 3 7 2 6 7 F1 F2 (c) I1 I2 I3 I4 I5 1 3 7 2 6 7 F1 F2 (d) F1 = I3 + I1 F2 = I4 + I1 Figura4.12.-Desarrollodela minimizacióndela tabladeMcCluskey. (a)Tablaoriginal; (b) despuésdelcirteriodeesencialidad;(c) despuésdelcriteriodedominancia;y (d) despuésde la segunda aplicación del criterio de esencialidad. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática64 seguir conel procedimientoanterior. Estoserepiteparatodoslos implicantesquequedeny la fórmula mínima se escoge como la de menor coste de todas las obtenidas. En el casodequetengamosfuncionesincompletas,las inespecificacionessolamentese utilizaríana la horadeobtenerlasimplicantesprimas,detal formaquelasimplicantestengan el menorcosteposible.Una vez obtenidasdichasimplicantes,solamentese trata la función completa asociada. Al igualqueenel métododelmapa,si envezdequererobtenerunafórmulacomosuma deproductos,queremosobtenerlacomoproductodesumasseoperadeigual formaperoobte- niendolos implicantesa partir delos cerosy enlugar del productodelasfuncionessecogela suma, como podemos ver en la figura 4.13 El procesodeminimizaciónesmostradoenla figura4.14.Empezamosconlos criterios deesencialidad,observandoquelos implicantesI3 e I2 sonesencialesparaF1,y el implicante I5 esesencialparaF2. En estecaso,el implicanteesencialI2 tambiénesimplicanteparaF2 (aunqueno esencialparadichasalida).Por lo tanto,sehacogidoparala salidaF1,perono se ha eliminadode la tabla(solamenteseha eliminadola porciónde F1); no obstanteseha eti- quetadodicho implicantepararecordarnosquesunueva elecciónparaotrasalidano conlleva costealguno(si fuesenecesarioacudir a esteparámetroparaarbitrar un posiblecriterio de equivalencia) . El restodel procesode minimizaciónesequivalenteal visto anteriormente.Seaplican alternativamentelos criterios de esencialidady de dominanciahastaacabarcon todas las columnas o llegar a una tabla cíclica. 00 01 11 10 0 1 0111 0110 AB C F1+F2 00 01 11 10 0 1 0111 0000 AB C F1 00 01 11 10 0 1 0100 0110 AB C F2 I1 = B+C = (0,4) I3 = C =(0,2,4,6) I4 = B = (0,1,4,5) I5 = A+C’ =(1,3) I2 = A’+B = (4,5) Figura 4.13.- Implicantes de una función multisalida para su implementación como pro- ducto de sumas. TEMA IV.- DISEÑO DE CIRCUITOS COMBINACIONALES. 65 4. Diseño libre de azares. Losmétodosquehemosvistohastaahoranosproporcionanunaimplementaciónmínima sin tenerencuentael comportamientotransitorio,esdecir, sólosecentraenel comportamiento estático.Parapoderobtenerun diseñolibre de azares,solamentetenemosquehaceralgunas modificaciones sobre los métodos anteriores. Paraello haremosusodela premisadequeunparde1’s (0’s) adyacentesnoenglobados por el mismoimplicante,constituiráun riesgodeazar. Luego paraevitar todoslos riesgosde azares,debemosgarantizarquenoexistanningunaparejade1’s (0’s)adyacentesconla propie- I3 I4 I5 I2 I1 0 2 4 F1 F2 (a) Figura4.14.-Desarrollodela minimizacióndela tabladeMcCluskey. (a)Tablaoriginal; (b) despuésdelcirteriodeesencialidad;(c) despuésdelcriteriodedominancia;y (d) despuésde la segunda aplicación del criterio de esencialidad. 5 6 0 1 3 4 5 I3 I4 I5 *I2 I1 0 2 4 F1 F2 (c) 5 6 0 1 3 4 5 I3 I4 I5 *I2 I1 0 2 4 F1 F2 (b) 5 6 0 1 3 4 5 I3 I4 I5 *I2 I1 0 2 4 F1 F2 (d) 5 6 0 1 3 4 5 F1 = I3 · I2 F2 = I5 · F1 = I3 · I2 F2 = I5 · I4 Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática66 dadanterior. Conestacondiciónconseguimoseliminartodoslosazaresestáticos,y por lo tanto todos los azares dinámicos (ya que están basados en ellos). Obviamente,al añadirunanueva funcionalidadal diseño,la no existenciadeazares,los diseñosobtenidostendránun costemayoro igual queno fuesenconsideradaestacaracterís- tica. 4.1. Método del mapa. En estecaso,tenemosquegarantizarqueno quedeningunaparejade1'sadyacentessin queesténcubiertospor algún implicantecomún.Por lo tanto,en la fórmula lógica deberán aparecerlos implicantesesencialesy no esencialesnecesariosparagarantizarque no exista ninguna pareja de 1’s (0’s) adyacentes que no esté cubierta por un mismo implicante. Paraañadirestanuevapeculiaridadmása la fórmuladeconmutación,servirátodala for- mulacióndesarrolladaen el apartadoanterior, simplementesustituyendolos 1’s (0’s) por las parejas de 1’s (0’s) adayacentes. En el ejemplocorrespondiente,la implementaciónlibre deazaressemuestraenla figura 4.15.En estecasotodoslos implicantessonesenciales,por lo quedeberánaparecerenla fór- mula lógica. 4.2. Método de McCluske y Al igual quesucedíaconla formulaciónbasadaenel mapadeKarnaugh,la formulación desarrolladaenel métododeMcCluskey esla mismasustituyendolos 1’s (0’s) por lasparejas de 1’s (0’s) adyacentes.En estecaso,solamentese vería alteradala creaciónde la tabla de McCluskey enel sentidoenquedondeantessecolocabanlos 1’s (0’s) decadasalida,esdecir, enlascolumnas,ahorasecolocanlasparejasde1’sadyacenteso los1’squenotenganninguno adyacente. Seguidamente el implicante deberá cubrir a toda la pareja de cada columna. 00 01 11 10 00 01 0011 0000 AB CD F = ∑m(1,5,7,10,11,14,15) 1100 111011 10 D C B A F = A + B + C + D = a·c + b·c·d + a’·b·d + a’·c’·d Figura 4.15.- Implementación libre de azares utilizando el método del mapa. TEMA IV.- DISEÑO DE CIRCUITOS COMBINACIONALES. 67 En la figura4.16mostramosla tabladeMcCluskey libre deazaresdel ejemploanterior. Enestecasoel implicanteI1 nocubreningunacolumna,yaquedichoimplicantesólocubreel mintérmino 7, pero no la pareja 3-7 ni la 6-7. El procesodeminimizaciónseráidénticoal mostradoenel apartadoanterior. Esdecir, la aplicaciónalternativa delos criteriosdeesencialidady dedominancia.En estecaso,los impli- cantesI2 e I3, e I4 e I5 sonesencialesparalassalidasF1y F2 respectivamente.Porlo tanto,la implementación mínima libre de azares quedaría de la siguiente forma: f1 = I2 + I3 = a'·c + b·c f2 = I4 + I5 = b·c' + a·b 5. Implementación del cir cuito digital Hastaahora,hemosdesarrolladolos métodosparaobtenerunafórmuladeconmutación mínimaquerealizaunadeterminadafuncióndeconmutación.El siguientepaso,y último, con- siste en pasar de la fórmula al circuito digital. Estepasoessimpley directo.Seprocedede tal formaquesesustituyeel operadorque apareceenla fórmulapor supuertaequivalente.Luego el operadorproductoessustituidopor unapuertaAND, mientrasqueel operadorsumaessustituidopor unapuertaOR. De igual forma,cuandoaparezca,tambiénsesustituiráel operadornegaciónpor un inversor. Así, para el caso de la función f = a·c + a'·d, la implementación sería la mostrada en la figura 4.17: I1 I2 I3 I4 I5 1-3 3-7 2-6 6-7 F1 F2 Figura 4.16.- Tabla de McCluskey libre de azares. A C D F Figura 4.17.- Implementación en suma de productos de la función f = a·c + a'·d Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática68 6. Conversión entre implementaciones de dos niveles. Las implementacionesde dosnivelesson,comoya hemosdicho,sumade productoso productodesumas.La implementaciónparasumadeproductos(productodesumas)sesuelen hacercon un primer nivel depuertasAND (OR) seguidasde unasolapuertaOR (AND) con tantas entradas como puertas AND (OR) existan. Paraconvertir unaimplementaciónde sumade productosen productode sumasepro- cedea la dobleinversión,comoya sehacomentado.No obstante,la implementaciónobtenida no tieneporquésermínima,sinoquepuedesernecesariounaminimizaciónutilizandolos teo- remas del álgebra de Boole. Veamos el ejemplo de la fórmula: F = a’·b·c + a·b’ + a·b·c’ F’ = (a+b’+c’)·(a’+b)·(a’+b’+c) = (a+b’+c’)·(a’+b·c) = a·b·c + a’·b’ + a’·c’ F = (F’)’ = (a’+b’+c’)·(a+b)·(a+c) Esdecir, negamosla fórmulaquedeseamosconvertir dejándolade la mismaforma(sumade productoo productodesumas)quela fórmulaoriginal.Unavezrealizadala primeranegación, se vuelve a negar, obteniendo directamente la expresión deseada. Hastaahorasólo hemoscontadocon el conjuntocompletode las puertasAND, OR e inversores.No obstante,existenmásconjuntoscompletoscomoel de las puertasNAND y el delaspuertasNOR.Porlo tanto,acontinuaciónnosplanteamosla conversióndesumadepro- ductos y producto de sumas a implementaciones NAND-NAND y NOR-NOR. En el casode sumade productos,vemosquesi cambiamosla puertaOR por su imple- mentaciónconpuertasNAND esdecir, (a' andb')', obtenemosla implementaciónmostradaen la figura4.18.Dedondeobservamosquela conversióndesumadeproductosaNAND-NAND esinmediatay sinnecesidadderealizarcasiningúncambio.El únicocasoenqueseríanecesa- rio algúncambiosedacuandoexiste algunaentradaqueva directamentea unaentradade la puertaORdel segundonivel. Enestecaso,comopodemosobservarenla figura4.18besnece- sario la adición de un inversor (o de algún elemento con su funcionalidad). En el casodel productodesuma,sepuedever deigual formaquesuconversióna NOR- NOR esigualmenteinmediata,comosucedeconel casoanterior. Un ejemplosimilar al ante- rior se muestra en la figura 4.19. Porúltimo parapasardeunaimplementaciónNAND-NAND a unaNOR-NOR(y vice- versa),solamentesenecesitapasardela implementacióndesumadeproductosa productode sumas (y viceversa). TEMA IV.- DISEÑO DE CIRCUITOS COMBINACIONALES. 69 A C D F A C D F A C D F Figura 4.18.- Conversión de la implementación AND-OR a la implementación NAND- NAND. A C D F A C D F A C D F (b) A C D F Figura4.19.-Conversióndela implementaciónOR-AND a la implementaciónNOR-NOR. A C D F A C D F A C D F A C D F A C D F (b) Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática70 ElectronicaDigital_Apuntes_Problemas/Tema5_Familias_Logicas.pdf TEMA VII.- FAMILIAS LÓGICAS Una vez que hemos visto la manera de analizar y diseñar sistemas lógicos a partir de cir- cuitos lógicos combinacionales, el siguiente paso es estudiar cómo podemos construir las puer- tas básicas a partir de elementos de circuitos. Estos elementos van a ser principalmente dispositivos semiconductores. No obstante no hay que olvidar que no siempre se han fabricado de esta forma, es más, el principio de la Electrónica Digital empezó con el descubrimiento de los relés y tubos de vacíos. Cuando el diseñador implementa las puertas (a medida) que necesita para su diseño, se dice que ha realizado un diseño full-custom. Estas puertas estarán diseñadas utilizando elemen- tos de circuitos, principalmente transistores. En este diseño no nos tenemos que limitar a utili- zar las puertas típicas, sino que podemos crear las puertas lógicas que necesitemos. Un ejemplo de puerta que no suele estar disponible es la que tiene como fórmula: F = A·B + C A partir de los transistores, podemos crear una puerta lógica que tenga dicha funcionalidad, sin tener que utilizar una puerta AND y una puerta OR. 1. Introducción. A la hora de construir las puertas lógicas, un criterio ampliamente seguido (realmente en cualquier disciplina, no sólo en Electrónica) es el criterio de uniformidad, es decir, las diferen- cias entre las diferentes puertas lógicas deben reducirse a las mínimas. Este criterio es la base de la definición de familia lógica, Una familia lógica se puede definir como la estructura básica a partir de la cual se pueden construir las puertas lógicas. En esta estructura estarán involucrados tanto los componentes que entran en juego, así como sus valores (ya que si cambiamos estos valores, pasaremos a otra familia diferente), ya que los parámetros van a depender de éstos. Al centrarnos en Electrónica Digital, no debemos perder de vista que las señales sólo pueden tomar dos valores diferentes. Por lo tanto, los elementos principales de estas familias lógicas deben tener como mínimo dos regiones de operación bien diferenciadas. Esta situación nos lleva a la utilización de dispositivos semiconductores, aunque en los principios se utiliza- ron válvulas y conmutadores electrícos (que presentaban un comportamiento similar). Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática106 Una posible clasificación de estas familias, según los dispositivos semiconductores en los que se basan, es: • Familias bipolares.- emplean transistores bipolares y diodos, es decir, dispositivos de unión. Las familias bipolares más representativas son las familias TTL y ECL. • Familias MOS.- emplean transistores MOSFET, es decir, transistores de efecto campo. La familias MOS más representativas son las familias NMOS y CMOS. Cada una de estas familias van a tener una serie de parámetros cuyos valores van a ser más o menos fijos. Los principales parámetros de las familias lógicas son: • Parámetros temporales (figura 7.1). • Retraso de propagación de bajo a alto, tPLH.- tiempo transcurrido desde que la señal de entrada baja (pasa por el 50%) hasta que la señal de salida sube (pasa por el 50%). • Retraso de propagación de alto a bajo, tPHL.- tiempo transcurrido desde que la señal de entrada sube (pasa por el 50%) hasta que la señal de salida baja (pasa por el 50%). El hecho de subida y bajada se debe a que las principales familias son negativas, es decir, la salida que obtenemos es el valor negado de dicha función. • Retraso de propagación.- valor medio de tPLH y tPHL. • Tiempo de transición de bajo a alto, tTLH.- tiempo transcurrido desde que la señal empieza a subir (pasa por el 10%) hasta que llega a un nivel alto (pasa por el 90%). • Tiempo de transición de alto a bajo, tTHL.- tiempo transcurrido desde que la señal empieza a bajar (pasa por el 90%) hasta que llega a un nivel bajo (pasa por el 10%). Es decir, se considera que una transición se ha completado cuando pasamos de los umbrales del 10% y el 90%. Este hecho es debido a que la forma de onda a partir de esos valores cambia, pudiendo no llegar nunca a los valores del 0% o al 100%. tPHL tPLH tTLH tTHL Figura 7.1.- Esquema de los parámetros temporales. 90% 10% 90% 10% TEMA VII.- FAMILIAS LÓGICAS 107 • Parámetros de tensión (figura 7.2). • Nivel alto de la salida (entrada), VOH (VIH).- nivel de tensión considerada como alto para la salida (entrada). • Nivel bajo de la salida (entrada), VOL (VIL).- nivel de tensión considerada como alto para la salida (entrada). La forma de determinar estos parámetros es la siguiente. Para determinar el nivel de salida alto (VOH), se le aplica a la entrada la mínima tensión del circuito (por lo general el valor de tierra), así el valor a la salida será el solicitado. Para determinar el nivel de salida bajo (VOL), se le aplica a la entrada VOH, así el valor de salida será el solicitado. Para obtener los niveles de entrada, se va variando la entrada desde los valores de salida hasta que la salida cambia de estado; en ese momento, se encuentran los niveles de entrada alto o bajo según corresponda. • Margen de ruido del nivel alto, VNSH.- la diferencia de tensión desde el nivel alto que se puede considerar como tal. • Margen de ruido del nivel bajo, VNSL.- la diferencia de tensión desde el nivel bajo que se puede considerar como tal. Estos valores se obtienen según la diferencia de valores que podemos ver en la figura. • Parámetros de intensidad (figura 7.3). • Fan-out.- número máximo de puertas que se pueden conectar a la salida sin que se degrade la señal de salida. • Fain-in.- número máximo de puertas que se pueden conectar a la entrada sin que se degrade la operación de la puerta lógica. Estos parámetros se han definido como de intensidad, ya que la limitación que supone se suele ver en términos de intensidad que piden o dan a la puerta lógica. En función de esta cantidad de intesidad, la puerta lógica puede dejar de funcionar como se espera (cambiando de zona de operación), produciendo un resultado erróneo. • Parámetros de potencia • Potencia media consumida.- Es la energia que solicita a la fuente de tensión. Este parámetro es cada día más importante debido al auge que están adquiriendo los sistemas “sin cable”. Este parámetro está intimamente relacionado con la vida de la batería de estos sitemas. VOH VIH VIL VOL VNSH VNSL Franja indeterminada Figura 7.2.- Esquema de los parámetros de tensión. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática108 2. Familia DL (Diode Logic) De forma previa al estudio de las familias actuales, se va a realizar el estudio de la fami- lia DL (Diode Logic), ya en desuso pero muy simple. Esta familia se basa en diodos, a los que se unen resistencias para evitar la destrucción de éstos. Un modelo de operación de un diodo se muestra en la figura 7.4, pudiendo distinguirse dos zona de operación: • Conducción u ON, en la que su tensión es de Vγ • Corte u OFF, en la que la intensidad a través de él se puede considerar nula. • Podemos apreciar otra zona, denominada de ruptura, en la que el diodo se convierte en un cortocircuito, que debe ser evitada. Para no llegar nunca a esta zona, se utilizan las resistencias a las que hacíamos mención anteriormente. Una puerta de una sola entrada de la familia DL, junto a su modo de operación se mues- tra en la figura 7.5. La operación de esta puerta es la siguiente, pero no nos podemos olvidar de que los valores de tensión estarán entre los niveles de tierra (‘0’ -> 0v.) y de polarización (‘1’ - > 5v.). In Out In Out In Out In Out In Out q p Figura 7.3.- Esquema de los parámetros de intensidad. + -VD ID Vγ VR ID VD ON OFF RUPTURA Figura 7.4.- Símbolo y característica IV del diodo. TEMA VII.- FAMILIAS LÓGICAS 109 • Cuando en la entrada tenemos un ‘0’, la tensión que hay en el diodo será de 0v. o menor, por lo que el diodo estará en corte. En esta situación, la intensidad será 0, y por lo tanto, la tensión que cae en la resistencia también será 0. Luego en la salida tendre- mos directamente la tensión de tierra,es decir, 0v. o ‘0’. • Cuando en la entrada tenemos un ‘1’, la tensión que ahí en el diodo es positiva, por lo que estará en conducción. En esta situación, la tensión que cae en el diodo es la de conducción, es decir, Vγ. Luego en la salida tendremos VDD-Vγ. En la tabla 7.1 mostramos los principales parámetros de tensión. En este caso los parámetros de intensidad deberán tomar los valores suficientes para que el diodo no entre en su zona de ruptura. 3. Familias bipolares. Las familias bipolares son aquellas basadas en los transistores de unión o bipolares. Estos transistores se pueden clasificar en dos tipos, según las uniones semiconductoras: npn y pnp. En la figura 7.6 se muestran las uniones, símbolos y su representación como diodos. De estos dos tipos de transistores, los más empleados son los transistores npn ya que presentan una ganacia mayor, y por lo tanto serán los más rápidos. Debido a la aparición de dos diodos en cada transistores, estos transistores mostrarán cuatro zonas de operación (las combinaciones de las diferentes zonas de cada diodo). En la figura 7.7 se muestran dichas zonas y sus principales propiedades. • Zona de corte. El transistor se comporta como un circuito abierto, por lo que no cir- cula intensidad por ninguno de sus terminales. En esta zona los dos diodos se encuen- tran cortados. • Zona activa directa, u zona óhmica. El transistor se comporta como un amplificador de intensidad desde la base hasta el colector. En este caso, el diodo base-emisor está conduciendo, mientras que el base-colector está cortado. Entrada Salida Margen de ruido Nivel bajo Vγ 0 Vγ Nivel alto VDD VDD - Vγ Vγ Table 7.1. Parámetros de tensión típicos de la familia lógica DL. A F A D F ‘0’ OFF ‘0’ ‘1’ ON ‘1’ Figura 7.5.- Esquema y tabla de verdad de una puerta construida con lógica DL. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática110 • Zona activa inversa. Es una zona parecida a la anterior, pero cambiando los terminales de emisor y colector. La principal diferencia (aparte de la anterior) es que la amplifi- cación es sustancialmente menor. • Zona de saturación. El transistor se comporta como un cortocircuito entre el colector y el emisor, que debido a las diferencias geométricas de ambas uniones mantiene una pequeña tensión. En esta zona los dos diodos se encuentran conduciendo. De estas cuatro zonas, sólo nos interesará que los transistores estén en dos de ellas: corte y saturación, que son las más parecidas a las zonas del diodo. Por lo tanto, para la correcta opera- ción de las puertas lógicas debemos evitar las otras zonas (activa directa y activa inversa), excepto en los casos que sean necesarias. N P N CE B P N P CE B B C E B C E B E C B E C Figura 7.6.- Uniones, símbolos y representación con diodos de transistores bipolares. VBC VBE SATURACIÓN VCE=0.2V. Z.A.D VBE=0.7V. IC=βFIB Z.A.I VBC=0.7V. IC=βRIB CORTE IC=IB=IE=0 Figura 7.7.- Zonas de operación de los transistores bipolares. TEMA VII.- FAMILIAS LÓGICAS 111 Una vez que se ha descrito brevemente el transistor bipolar, así como sus diferentes zonas de operación, vamos a describir las principales familias bipolares: familia TTL y familia ECL. 3.1. Familia TTL (Transistor Transistor Logic). Esta familia es una de las más empleadas en la construcción de dispositivos MSI. Está basada en el transistor multi-emisor. Este transistor es un transistor con varios emisores, una sola base y un solo colector. En la figura 7.8 mostramos el símbolo de este transistor, su repre- sentación en transistores con un solo emisor y su forma de operación: Un esquema típico de una puerta TTL se muestra en la figura 7.9, junto con su tabla de funcionamiento (donde también se indica la zona de operación de los diferentes transistores). El funcionamiento de la puerta es el siguiente. Debido a que la intensidad de base de un tran- sistor bipolar es muy pequeña, en primera aproximación podemos decir que es nula por lo que la base del transistor T1 siempre está conectado a polarización. Cuando cualquiera de las entra- das se encuentra en un nivel bajo, el transistor T1 se encontrará en la región de saturación, ya que la unión BE está conduciendo y la unión BC siempre está directamente polarizada, lo cual provocará que la base del transistor T2 tenga una tensión de 0.4 v (0.2v de la caida entre colec- tor y emisor y 0.2v del nivel bajo, como ya veremos). Esta situación provoca que dicho transis- tor esté cortado. Al estar T2 cortado, la tensión de base de T3 será 0, lo cual implica que T3 también esté cortado. En cambio, el transistor T4 estará en zona activa directa o en saturación (dependiendo de los valores de las resistencias R2 y R4), que provocará que el diodo conduzca colocando en la salida un nivel alto. Cuando todas las entradas se encuentren a nivel alto, el transistor T1 estará en la zona activa inversa, ya que la unión BE está cortada y la unión BC está conduciendo. Esta situación provoca que la tensión de base del transistor T2 sea aproximadamente de 1.4 v., llevando a dicho transistor a saturación. Por lo tanto, el transistor T3 estará igualmente saturado y en la salida se colocará un nivel bajo. En cambio, el transistor T4 se encontrará en zona activa directa, pero el diodo no conducirá, desconectando la salida de la tensión de polarización. Así, los niveles de tensión y márgenes de ruido de esta familia, de forma aproximada, son los mostrados en la tabla 7.2. La obtención de estos valores se puede desprender de la tabla de operación de los transistores de la figura 7.9. • VOL = VCE(SAT)3 = 0.2v E1 B C E2 E1 B C E2 BEi ON => BE ON Todas BEi OFF=> BE OFF Figura 7.8.- Símbolo y forma de operación de un transistor multiemisor. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática112 • VOH = VDD - VBE(SAT)4 - VD(ON) = 3.8 v. • VIH es la tensión para que el transistor T1 salga de zona activa inversa. • VIL es la tensión para que el transistor T1 salga de saturación. En la figura anterior, la zona punteada corresponde a la etapa de salida de la puerta. Esta etapa no es única, sino que existen varios tipos de etapas de salida. Entre estos tipos, podemos encontrar: • la salida totem-pole, • la salida con carga resistiva • y la salida en colector abierto (siempre hay que conectarle una carga a la salida) mostradas en la figura 7.10: Como pudimos ver en el primer ejemplo, la lógica de esta familia es negada, es decir, la salida siempre está complementada. También podemos apreciar que la utilización de un tran- sistor multiemisor genera la operación AND de los emisores. También podemos generar opera- ciones OR de los términos producto. Luego, con la familia TTL sólo podemos generar las siguientes estructuras: • Inversores • AND - inversor • AND - OR - inversor Estas estructuras se muestran en la figura 7.11. Nivel Entrada Salida Margen de ruido Bajo 1.6 v 0.2 v. 1.4 v. Alto 3.2 v. 3.8 v. 0.6 v. Table 7.2. Parámetros de tensión de la familia lógica TTL. A B T1 T2 T4 D T3 A B T1 T2 T3 T4 D F 0 0 SAT OFF OFF SAT ON 1 0 1 SAT OFF OFF SAT ON 1 1 0 SAT OFF OFF SAT ON 1 1 1 ZAI SAT SAT ZAD OFF 0 F Figura 7.9.- Esquema y tabla de verdad de una puerta lógica construida con lógica TTL. TEMA VII.- FAMILIAS LÓGICAS 113 3.2. Familia ECL (Emitter Coupled Logic). La familia ECL se basa en un amplificador diferencial. Para que el retraso de esta familia sea mínimo, se impone la retricción de que los transistores del amplificador trabajen en los límites de Z.A.D. - corte y Z.A.D. - saturación. Este hecho implica que la diferencia de tensión que tenga que soportar sea mínima. Esta situación tiene tres implicaciones básicas: • niveles de tensión altos y bajos cercanos (que le proporciona una alta velocidad) • incompatibilidad con otras familias lógicas • disposición de salidas diferenciales, es decir, tanto de la salida complementada como sin complementar. A B F A B F A B F Totem-pole Carga resistiva Colector abierto Figura 7.10.- Diferentes etapas de salida de la familia lógica TTL. Inversor AND - Inversor AND - OR - Inversor Figura 7.11.- Diferentes estrucutras posibles con la familia TTL. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática114 El esquema de una puerta lógica ECL, junto a su tabla de comportamiento (en la que se ha incluido la zona de operación de sus transistores y los límites de los transistores de amplifi- cación), se muestran en la figura 7.12: El funcionamiento de la puerta es el siguiente. Los niveles lógicos estarán alrededor de la tensión VREF, luego la intensidad que pasará por la resistencia REE será aproximadamente constante e igual a: IEE = (VREF - Vγ)/REE Cuando en la entrada existe un nivel bajo (una tensión menor que VREF), el transistor T1 estará en el límite de corte mientras que el T2 estará en el límite de saturación. Por lo tanto, toda la intensidad pasará a través de T2. Así los valores de tensión en los colectores de T1 y T2 serán Vcc y Vcc-IEE·RC, respectivamente. Podemos apreciar que estos valores dependen en gran medida de la intensidad, y por lo tanto el fan-out tiene una gran influencia. Para reducir esta influencia y aumentar este fan-out, necesitaremos unas etapas de salida, formadas por las parejas de los transistores T3 y T4 con sus respectivas resistencias. Los transistores T3 y T4 siempre estarán en zona activa directa suministrando la intensidad necesaria y desacoplando la función lógica del resto del circuito. Por lo tanto, la señal F' tendrá un nivel alto (Vcc - VBE(ON)), y la señal F tendrá un nivel bajo (Vcc - VBE(ON) -IEE·RC). Cuando en la entrada existe un nivel alto, la operación es similar cambiando el transistor T1 por el T2. Así, los niveles de tensión y márgenes de ruido de esta familia, de forma aproximada, se muestran en la tabla 7.3. Los valores de VREF, RC y REE se establecen para que dichos valores se encuentren cerca de la mitad de los raíles de polarización. A T1 T2 T3 T4 F F’ 0 ZAD-OFF ZAD-SAT ZAD ZAD 0 1 1 ZAD-SAT ZAD-OFF ZAD ZAD 1 0 T1 T2 T4T3 VREF A FF’ REE RCRC R R Figura 7.12.- Esquema y tabla de verdad de una puerta construida con lógica ECL. TEMA VII.- FAMILIAS LÓGICAS 115 Para mantener las anteriores condiciones de operación, en una sola puerta ECL única- mente se pueden implementar las siguientes operaciones: • inversión/seguimiento • operación nor/or tal como podemos ver en la siguiente figura: 4. Familias MOS. Las familias MOS son aquellas que basan su funcionamiento en los transistores de efecto campo o MOSFET. Estos transistores se pueden clasificar en dos tipos, según el canal utili- zado: NMOS y PMOS. En la figura 7.14 se muestran su estructura y varios símbolos: Nivel Entrada Salida Margen de ruido Bajo VREF - 0.3v 4.3 v. - RC·(VREF-0.7)/Ree VREF·(RC/REE +1) -4.6 -0.7·RC/REE Alto VREF - 0.3 4.3 v. 4.6 v.- VREF Table 7.3. Parámetros de tensión de la familia lógica ECL. T1 T2 T4T3 VREF A SeguidorInversor T1 T2 T4T3 VREF B ORNOR T1’ A Figura 7.13.- Posibles estructuras que se pueden construir con la familia ECL. pp n D G S nn p D G S G D S G D S G D S G D S Figura 7.14.- Representación y símbolos de los transistores MOSFET. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática116 El transistor MOS se puede identificar como un interruptor controlado por la tensión de puerta, VG, que determinará cuando conduce y cuando no. En la figura 7.15 describimos la operación de estos transistores como interruptores. Al igual que sucedía con los transistores bipolares, los transistores PMOS muestran una ganancia menor que los NMOS, por lo que estos últimos predominan en la generación de las familias. 4.1. Familia NMOS. La familia NMOS se basa en el empleo únicamente de transistores NMOS para obtener la función lógica. Un esquema de esta familia se muestra en la figura 7.16. El funcionamiento de la puerta es el siguiente. Cuando la entrada se encuentra en un nivel bajo, el transistor NMOS estará en su zona de corte. Por lo tanto, la intensidad que circu- lará por el circuito será nula y en la salida se encontrará la tensión de polarización, es decir, un nivel alto. Cuando la entrada se encuentra en un nivel alto, el transistor estará conduciendo y se comportará aproximadamente como un interruptor. Por lo tanto, en la salida estará un nivel bajo. En este caso la resistencia actúa de pull-up de la estructura. Vamos a introducir dos nue- vos conceptos, que aunque no son exclusivos de las familias MOS, sí son muy empleados en este tipo de circuitos. vg = vdd vd=vdd --> vs=vdd-vth vd=0 --> vs = 0 0 id = 0 vg = 0 vd=vdd --> vs=vdd vd=0 --> vs = -vth vdd id = 0 Transistor NMOS Transistor PMOS Figura 7.15.- Zonas de operación de los transistores MOSFET. A T1 F 0 OFF 1 1 ON 0T1 Figura 7.16.- Esquema y tabla de verdad de un puerta construida con lógica NMOS. A F TEMA VII.- FAMILIAS LÓGICAS 117 El pull-up es el dispositivo que suministra el nivel alto (conecta la tensión de polarización a la salida) Mientras que el pull-down suministra el nivel bajo (conecta la tierra). Existen diferentes tipos de pull-up, como puede ser la resistencia, transistores de deplexión o transistores saturados, mostrados en la figura 7.17: En la familia NMOS se puede construir cualquier función arbitraria siempre y cuando se mantengan las limitaciones tecnológicas (que suelen traducirse en la conexión en serie de un número máximo de transistores). Para formar cualquier función, las estructuras son las siguien- tes: • la conexión en paralelo de dos transistores (o grupo de ellos) actúa como una puerta OR, • la conexión en serie de dos trnasistores (o grupo de ellos) actúa como una puerta AND. No obstante, hay que tener en cuenta que esta familia (al igual que la TTL) siempre devuelve el complemento de la función. Algunos ejemplos de puertas complejas se muestran en la figura 7.18. Figura 7.17.- Diferentes tipos de pull-up de la familia lógica NMOS. Operación OR Operación AND Operación OR - AND Figura 7.18.- Ejemplos de puertas lógicas NMOS. A B A B A B CF = A+B F = A·B F = (A+B)·C Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática118 4.2. Familia CMOS (Complementary MOS). Esta familia basa su operación en la utilización de los transistores NMOS y PMOS fun- cionando como interruptores, de tal forma que los transistores NMOS suministran el nivel bajo (ya que no se degrada con la tensión umbral) y los transistores PMOS suministran el nivel alto (ya que no se degrada con la tensión umbral). Una puerta construida con la familia CMOS solamente estará formada por transistores, como se muestra en la figura 7.19. El funcionamiento de la puerta es el siguiente. Cuando en la entrada hay un nivel bajo, el transistor T1 estará cortado mientras que el T2 estará conduciendo. Por lo tanto, el transistor T2 colocará en la salida un nivel alto (que será directamente el nivel de polarización), y el tran- sistor T1 evitará el paso de corriente por lo que no consume potencia en estática, sólo en el transitorio. Cuando en la entrada hay un nivel alto, el transistor T2 estará cortado mientras que el T1 estará conduciendo. Por lo tanto, el transistor T1 colocara en la salida un nivel bajo (que será directamente el nivel de tierra), y el transistor T2 evitará el paso de corriente por lo que no con- sume potencia en estática, sólo en el transitorio. En el caso de la familia CMOS, al igual que en la NMOS, se puede construir cualquier fórmula compleja. En el caso de los transistores NMOS, se construyen igual que en la familia NMOS, pero en los transistores PMOS es la función inversa. Es decir, • la conexión en paralelo forma una operación AND, • mientras que la conexión en serie forma una operación OR. Se tiene que verificar que ambas ramas (de transistores NMOS y PMOS) generan la misma función lógica. Este hecho implicará que el nodo de salida siempre estará conectado a un solo nivel lógico, es decir, al nodo de polarización (nivel alto) o al nodo de tierra (nivel bajo). En el caso de que no se cumpla dicha restricción, podemos encontrarnos en dos situacio- nes diferentes: • Que el nodo de salida esté conectado a la tensión de polarización y al nodo de tierra de forma simulatánea. Esta situación no se debe permitir nunca, ya que el valor lógico de salida sería indeterminado. FA T1 T2 A T1 t2 F 0 OFF ON 1 1 ON OFF 0 Figura 7.19.- Esquema y tabla de verdad de un puerta construida con lógica CMOS. TEMA VII.- FAMILIAS LÓGICAS 119 • Que el nodo de salida no esté conectado a ningún nodo, ni a tensión de polarización ni a tierra. Esta situación es problemática porque dejaríamos la salida en alta impedancia y cualquier dispositivo parásito podría alterar el valor lógico. Por lo tanto, algunos ejemplos de funciones complejas construidas en la familia CMOS se muestran en la figura 7.20. 5. Ejemplo. Por último, vamos a ver como sería la implementación de una función utilizando las dife- rentes familias lógicas. La función elegida es la función exclusiva OR de dos entradas. Debido a la diferencia de operaciones que se puede implementar por cada una de las familias, las fórmulas no podrán ser las mismas. También debido a la salida complementada de las funciones, y para utilizar el número mínimo de puertas, vamos a implementar la función negada. De esta forma, en la salida tendremos la función sin negar. Las diferentes fórmulas utilizadas serán las siguientes: • TTL --> F = A·B + A·B • ECL --> F = (A+B)’+(A’+B’)’ • NMOS --> F = A·B + A·B • CMOS --> F = A·B + A·B Luego las puertas se muestran en la figura 7.21. Figura 7.20.- Ejemplos de puertas lógicas CMOS. F = A·B F = A·B F = (A+B)·C B A B A A B C Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática120 A B A B F VREF B A VREF BA VREF F A B A B F A B A B F Figura 7.21.- Implementación de la función exclusiva-OR en las familias TTL, ECL, NMOS y CMOS respec- tivamente. Notar que debido a la función implementada, en la implementación CMOS, la conexión en paralelo de los transistores PMOS podría eliminarse. ElectronicaDigital_Apuntes_Problemas/Tema6_Diseño_Programable.pdf TEMA VI: DISEÑO PROGRAMABLE Continuando con los diferentes tipos de diseño, en el presente tema vamos a introducir- nos en el denominado diseño programable. Este nuevo diseño apareció gracias a los continuos avances en la tecnología de integración, y a la orientación hacia nuevos dispositivos más gene- rales. Este tipo de diseño es aquel en el que los elementos de los que disponemos para construir nuestro circuito son dispositivos programables. 1. Introducción. Un dispositivo programable, genéricamente PLD (Programmable Logic Device), se puede definir de la siguiente forma: Un PLD es aquel dispositivo cuya tabla de verdad puede ser modificada sin alterar el conexionado interno de los ele- mentos que los forman. Es decir, contiene una serie de elementos lógicos (por lo general puertas AND, OR e inverso- res) que pueden configurarse en cualquier función lógica soportada (generalmente limitada al número de entradas y salidas). Los dispositivos programables se pueden clasificar dependiendo su funcionalidad. Estos dispositivos pueden ser: • Universales.- pueden implementar cualquier función lógica con un determinado número máximo de entradas y salidas. • No universales.- solamente se pueden implementar algunas funciones de interés general. Físicamente, desde el exterior, a estos dispositivos no hay porqué hacerles nada, sino que el hecho de que implemente el comportamiento de una función u otra se debe a la programa- ción de dicho dispositivo. Generalemente, la programación de estos dispositivos consiste en la supresión de determinadas conexiones realizadas mediante un diodo o un transistor que actúan como fusibles. Los principales dispositivos programables a nivel combinacional que hay en el mercado son: memorias PROM, dispositivos PAL y dispositivos PLA. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática94 2. Memorias PROM (Programmable Read Only Memory). La principal característica de las memorias ROM (nombre genérico) es que son memo- rias programables no volátiles, es decir, cuando se desconecta de la tensión de polarización, los datos almacenados no desaparecen, a diferencia de las memorias RAM. Básicamente las memorias ROM se pueden clasificar en: • Memorias ROM, las cuales son programadas (una sola vez) por el fabricante. • Memorias PROM, las cuales son programadas (una sola vez) por el usuario mediante un programador. • Memorias EPROM, las cuales son programadas (pudiéndose borrar para volver a pro- gramar) por el usuario mediante un programador. Las memorias ROM están formadas por una matriz de puertas AND, que generan todos los mintérminos posibles correspondientes al número de entradas, por lo que funcionalmente hablando equivale a un decodificador. Las salidas de estas puertas son conectadas, a través de un fusible, a una puerta OR por cada bit de salida. Por lo tanto, este dispositivo se caracteriza por tener una matriz de puertas AND fija, y una matriz de puertas OR programable. Debido a que están disponibles todos los mintérminos de las posibles funciones, este tipo de dispositivos entrarán dentro del tipo de dispositivos universales, ya que se puede implementar cualquier función con el número de entradas del dispositivo. La notación de las memorias ROM es: ROM 2n x m donde n es el número de entradas (2n es el número de mintérminos implementados) y m es el número de salidas. De esta forma, una memoria ROM 4x2 se muestra en la figura 6.1. Al igual que sucedía con los bloques MSI, estos dispositivos tienen señales de control y sólo existen para un cierto número característico de entradas y salidas. Por lo tanto deberíamos saber cómo aumentar el número tanto de entradas como de salidas, para lo cual utilizaremos la señal de habilitación. De forma previa a esta conexión debemos indicar que las salidas de estos dispositivos muestran una codificación triestado, a diferencia de los dispositivos MSI. Esta codificación tiene tres estados posibles, los cuales son: • Nivel 1, que se corresponderá con el ‘1’ lógico de cualquier dispositivo digital. Este nivel aparece cuando el dispositivo está habilitado. • Nivel 0, que se corresponderá con el ‘0’ lógico de cualquier dispositivo digital. Este nivel aparece cuando el dispositivo está habilitado. • Nivel de alta impedancia, que es un nivel de no conexión al interior del dispositivo. Por lo tanto, el nivel que tendrá dicho nodo vendrá de su conexión a otro punto del cir- cuito. Este nivel aparece cuando el dispositivo está deshabilitado. Por lo tanto, podemos tener dos salidas conectados a un mismo punto siempre y cuando única- mente una de las salidas tenga un nivel 1 u 0 y el resto se encuentren en alta impedancia (ya que indicará que realmente no están conectadas a las salidas). En el caso de que se conectasen dos niveles diferentes (‘0’ y ‘1’) a un mismo nodo, en dicho nodo aparecería un divisor de ten- TEMA VI: DISEÑO PROGRAMABLE 95 sión; por lo que en dicho nodo no existiría nigún valor lógico definido, ya que estaría el nivel de tensión (‘1’+’0’)/2. Luego, la conexión de las memorias deberá ser como sigue. • Para aumentar el número de salidas debemos conectar varias memorias en paralelo, es decir, seleccionadas simultáneamente. Esta simultaneidad no está reñida con lo dicho anteriormente, ya que estas salidas no se van a conectar por ser diferentes. Además las entradas de estos dispositivos, conectados en paralelo, deben ser las mismas para seleccionar la misma combincación en todos ellos. • Para aumentar el número de entradas vmos a diferenciar dos tipos de entradas: un grupo de entradas que seleccionan la combinación dentro del dispositivo; y otro grupo que selecciona el dispositivo que debe actuar. El primer grupo de entradas estarán conectadas a los dispositivos PROM que tengamos. Mientras que el segundo grupo estará conectado a un decodificador (que nos proporciona una combinación) y sólo habilita (selecciona) un único dispositivo. Por lo tanto, todas las salidas podrán estar conectadas entre sí, ya que un solo dispositivo estará habilitado mientras los demás estarán en alta impedancia. • Para aumentar los dos parámetros de forma simultánea, únicamente hay que combinar las dos técnicas anteriores. Para ello, primero aumentaremos el número de salidas con tantos dispositivos como sean necesarios conectados en paralelo; para después conec- tar tantas filas como sean necesarias conectadas en serie (a través de un decodifica- dor). Por ejemplo, en la figura 6.2 mostramos un dispositivo de 2n+p x (m·q) a partir de módulos ROM 2n x m. A F1(A,B) B F2(A,B) Matriz AND fija Matriz OR programable Figura 6.1.- Esquema e una memoria ROM a nivel de circuito. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática96 3. Dispositivos PAL (Programmable Array Logic). Una vez que hemos visto el dispositivo programable universal por excelencia, pasaremos a ver los principales dispositivos programables no universales combinacionales. Al igual que sucedía con las memorias ROM, estos dispositivos se basan en una implementación en dos niveles en forma de suma de produtos. Los dispositivos PAL están formados por una matriz de puertas AND programables (podemos decidir cuáles serán las entradas a estas puertas) y una matriz fija de puertas OR. Entre las principales características de estos dispositivos, podemos encontrar las siguientes (que serán características de funcionamiento y limitaciones): A0...An-1 D0...Dm-1 n m CS A0...An-1 D0...Dm-1 n m CS Q A0...An-1 D0...Dm-1 n m CS A0...An-1 D0...Dm-1 n m CS Q A0...An-1 D0...Dm-1 n m CS A0...An-1 D0...Dm-1 n m CS Q p 2p-3 2p-3 Figura 6.2.- Aumento del número de entradas y salidas de una memoria ROM. 0 1 2p-1 TEMA VI: DISEÑO PROGRAMABLE 97 • Al tener una matriz de puertas OR fijas, las entradas a estas puertas OR deben ser independientes. Por lo tanto, un término producto sólo puede estar conectada a una sola salida, a diferencia de las memorias ROM. • Una de las principales limitaciones de estos dispositivos (y la razón por la que no son universales) es el número de términos producto. Una decisión que hay que tomar es el número de entradas de los términos suma. El número de estas entradas suele cumplir la siguiente relación: si tenemos n términos producto y m salida, cada término suma tiene n/m entradas. Por lo tanto, todas las salidas tendrán el mismo número de térmi- nos productos. La notación de una PAL suele incluir el número de entradas, su número de términos pro- ductos y su número de salidas, de la forma: PAL(n x q x m) Donde n es el número de entradas, q es el número de términos productos y m es el número de salidas. En la figura 6.3 mostramos un posible esquema correspondiente a una PAL(2x4x2). Al igual que sucedía con las memorias ROM, estos dispositivos pueden ser insuficientes en número de entradas y/o en número de salidas; a lo que hay que añadirle su nueva limitación, es decir, el número de términos producto. La ampliación de los módulos PAL en estos casos se trata de la misma forma que las memorias ROM, es decir, • Para aumentar el número de salidas, se conectan en paralelo varias PAL's con las mis- mas entradas. • Para aumentar el número de entradas, se conectan varias PAL's mediante un decodifi- cador, que tendrá como entradas aquellas que se desean añadir. B F2 A B F1 F2 Líneas AND Líneas OR F1 A Figura 6.3.- Esquema a nivel de circuito de un dispositivo PAL. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática98 • Para aumentar el número de términos producto, las salidas de varios módulos PAL se conectan a través de una puerta OR (aprovechando la propiedad asociativa de dicha operación). Así, si se quiere obtener un módulo PAL (n x 2·q x m) a partir de módulos PAL (n x q x m), el esquema sería el mostrado en la figura 6.4. En la figura 6.5 mostramos la representación de una PAL en las hojas de especificaciones de un fabricante. Podemos apreciar que se trata de una representación similar a la mostrada en la figura 6.3. Podemos apreciar las líneas producto, que serán las líneas horizontales conecta- das a las puertas AND, con un número igual a 56 (7 líneas producto por cada salida). También podemos observar como reducir el tamaño del esquema comparitnedo una misma fila de entradas para dos de ellas. También podemos apreciar que existen una serie de patillas que pueden ser configuradas como entrada o como salida (desde la patilla 13 a la 18), a través de un buffer triestado. 4. Dispositivos PLA (Programmable Logic Array). Junto con los dispositivos PAL y las memorias ROM, lso dispositivos PLA forman los principales dispositivos programables combinacionales. Estos dispositivos pueden verse como la unión de las memorias ROM y los dispositivos PAL, en el sentido de que pueden progra- marse tanto la matriz de puertas AND como la matriz de puertas OR. La denominación es semejante a la de los dispositivos PAL: PLA (NxQxM) donde N es el número de entradas, Q es el número de términos productos y M es el número de salidas. En este caso y a diferencia de los módulos PAL, todos los términos suma tienen la posibilidad de estar conectados (si fuese necesario) a todos los términos producto. En la figura 6.6 mostramos un dispositivo PLA(2x4x2). F1 Fm PAL(NxQxM) n F1 Fm PAL(NxQxM) n F1 Fm Figura 6.4.- Aumento del número de términos producto en un dispositivo PAL. TEMA VI: DISEÑO PROGRAMABLE 99 Figura 6.5.- Representación de una PAL en las hojas de especificaciones de un fabricante. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática100 La diferencia del símbolo con respecto al del dispositivo PAL consiste en que las conexiones de los términos suma no son fija y se identifican de otro modo, como veremos pos- teriormente. Las ampliaciones del número de entradas, salidas y/o productos AND se realiza de igual forma que en el caso de los módulos PAL. 5. Diseño mediante dispositivos programables. La implementación de una función lógica en un dispositivo programable consiste en la programación de éste, es decir, en la fusión de los fusibles adecuados. No obstante, de forma previa a la programación, se debe generar la fórmula lógica que va a formar el circuito. La forma de dicha fórmula va a depender del dispositivo que vayamos a programar. En el caso de las memorias ROM, la fórmula deberá estar en su expresión canónica disyuntiva, es decir, como suma de mintérminos. Este hecho viene motivado debido a que dis- ponemos todos los mintérminos, y en la programación hay que indicar cuáles de los mintérmi- nos tienen que entrar en la puerta OR. En el caso de los módulos PAL, la fórmula deberá ser minimizada como suma de produc- tos para ocupar el número mínimo de puertas AND (principal limitación en este tipo de dispo- sitivos). En cambio, esta fórmula mínima deberá ser tratando cada salida como una función independiente, ya que no se puede compartir un mismo término producto en varias puertas OR. Por lo tanto, no se podrá minimizar empleando el método de McCluskey. B F2 F1 A A B F1 F2 Líneas AND Líneas OR Figura 6.6.- Esquema a nivel de circuito de un dispositivo PLA. TEMA VI: DISEÑO PROGRAMABLE 101 En el caso de los módulos PLA, al igual que ocurría con los módulos PAL, la fórmula deberá ser minimizada para ocupar el número mínimo de puertas AND. No obstante, y a dife- rencia de los módulos anteriores, la función sí tiene que ser tratada como multisalida ya que las salidas de las puertas AND van a todas las puertas OR. Por lo tanto, esta minimización deberá ser realizada a través del método de McCluskey. Todo lo anterior se encuentra esquematizado en la tabla 1.1. 6. Ejemplo. Por ejemplo, vamos a implementar una función lógica con estos dispositivos, además de indicar los requerimientos mínimos para cada uno de los dispositivos. La función a implemen- tar tendrá dos salidas, mostradas a continuación: F1(A,B,C) = ∑ m(1,3,7) F2(A,B,C) = ∑ m(2,6,7) Para esta función necesitaremos un total de tres entradas ya que 23 es igual a 8. 6.1. Memorias ROM. En el caso de memorias ROM, los requerimientos vendrán dados por el número de entra- das y de salidas. Por lo tanto, necesitaremos como mínimo un módulo ROM(8x2), obteniendo el esquema mostrado en la figura 6.7. Debido al hecho de que la funcionalidad de la matriz de puertas AND es la misma que un decodificador, vamos a utilizar su representación para obtener una representación más clara. Otra cuestión importante es el orden de las señales de entrada, ya que si se varía, el orden de los mintérminos también varía. 6.2. Dispositivos PAL. En el caso de estos dispositivos, los requerimientos mínimos vendrán dados por el número de entradas, salidas, términos productos y de entradas de los términos suma. Por lo tanto, hasta que no hayamos hallado la fórmula mínima no podremos dar los requerimientos mínimos. Dispositivo Matriz AND Matriz OR Tipo de fórmula Memoria ROM Fija y compartida Programable Suma de mintérminos Dispostivo PAL Programable Fija e independiente Suma de productos mínima con sal- idas independientes Dispositivo PLA Programable y com- partida Programable Suma de productos mínima de fun- ción multisalida Tabla 1.1. Resumen de los dispositivos programables Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática102 La implementación mínima se debe realizar tomando las salidas por separado. Utili- zando el método del mapa, obtenemos las fórmulas de la figura 6.8. Luego el PAL mínimo que se necesitaría será PAL(3x4x2), aunque para ilustrar que debemos tener el mismo número de entrada de todos los términos suma, aunque no se utilicen, hemos empleado un PAL(3x6x2). De esta forma el dispositivo PAL quedaría del modo mos- trado en la figura 6.9. 0 1 2 3 4 5 6 7 1 2 4 F1 F2 A B C Figura 6.7.- Diseño de la función con salidas F1(A,B,C) = ∑ m(1,3,7) y F2(A,B,C) = ∑ m(2,6,7) mediante memorias ROM. 00 01 11 10 0 1 0100 0110 AB C F2 00 01 11 10 0 1 0111 0000 AB C F1 F1 = A'·C + B·C F2 = B·C' + A·B Figura 6.8.- Obtención de las fórmulas mínimas de las funciones F1(A,B,C) = ∑ m(1,3,7) y F2(A,B,C) = ∑ m(2,6,7) utilizando el método del mapa. A B C F1=A’C+BC F2=AB+BC’ Figura 6.9.- Diseño de la función con salidas F1(A,B,C) = ∑ m(1,3,7) y F2(A,B,C) = ∑ m(2,6,7) mediante dispositivos PAL. TEMA VI: DISEÑO PROGRAMABLE 103 6.3. Dispositivos PLA. Al igual que sucedía con el dispositivo PAL, debemos obtener primero la fórmula antes de poder especificar los requerimientos mínimos. Por lo tanto, empezaremos por la obtención de la fórmula mínima, mostrada en la figura 6.10. Luego, las fórmulas mínimas son: F1 = A'·C + A·B·C F2 = B·C' + A·B·C Por lo tanto, el dispositivo mínimo debe ser PLA(3x3x2). Aunque para hacer una compa- ración con el dispositivo PAL utilizado en el caso anterior, vamos a utilizar un dispositivo PLA con las mismas características, es decir, PLA(3x6x2). De esta forma el dispositivo PAL queda- ría del modo mostrado en la figura 6.11. 00 01 11 10 0 1 0100 0110 AB C F2 00 01 11 10 0 1 0111 0000 AB C F1 00 01 11 10 0 1 0100 0000 AB C F1·F2 I1 = A·B·C I2 = B·C’ I3 = A·B I4 = A’·C I5 = B·C Figura 6.10.- Obtención de las fórmulas mínimas de la función con salidas F1(A,B,C)=∑ m(1,3,7) y F2(A,B,C)=∑ m(2,6,7). F1 F2 1 3 7 2 6 7 A'·C X X B·C X X B·C' X X A·B X X A·B·C X X A B C F1=A’C+ABC F2=ABC+BC’ Figura 6.11.- Diseño de la función con salidas F1(A,B,C)=∑ m(1,3,7) y F2(A,B,C)=∑ m(2,6,7) mediante dis- positivos PLA. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática104 De la comparación entre la solución mediante dispositivos PAL y PLA podemos concluir que la utilización de un dispositivo PLA tendrá más ventaja cuantos más términos producto se compartan entre las diferentes salidas. Si ningún término producto se compartiese, ambas solu- ciones serían iguales, exceptuando que los términos sumas no deberían tener el mismo número de entradas. ElectronicaDigital_Apuntes_Problemas/Tema7_Diseño_MSI.pdf TEMA V.- DISEÑO MSI (MEDIUM SCALE INTEGRATION). El diseñoMSI surgió graciasa losavancesenla tecnologíadeintegración.Estosavances abarataron los costes de producción, y permitieron el desarrollo de circuitos más generales. En la primeraetapadela Electrónica,los circuitoseranconstruidosúnicamentea modo dechipsespecíficos(generalmentea partir depuertassencillas)debidoal excesivo costedela integración.A medidaqueel tiempopasó,sefueronmejorandolastécnicasdeintegraciónaba- ratándosedeestaformala integracióndelos circuitos.Estareduccióndel costellegó hastatal puntoqueya no erarestrictivo la construccióndecircuitosdepropósitogeneral,de tal forma queel diseñador, comopasoprevio a la integración,generalmentepodíaconstruirunprototipo con la conexión de estosbloques.Esteprototipopodíaconstruirseen unaregletade entrena- mientoo en unaplacaimpresa(PCB, Printed Circuit Board). A menudo,si el resultadodel prototipo satisfacía todas las expectativas del producto final, el diseño se acababa con la PCB. 1. Intr oducción. Los bloquescombinacionalesquesesuelenutilizar enestetipo dediseñosuelencontar contrestiposdeseñales:señalesdecontrol(ya queel bloquetiendea tenermásdeunaopera- ción, seleccionándosela función deseadacon estasseñalesentre otras cosas),señalesde entradadedatosy señalesdesalidaderesultados.Dentrodelasseñalesdecontrolmáscomu- nes podemos encontrar: • Señalesdeinhibición/desinhibición(CS).-sonseñalesqueimpideno permitenla ope- ración del bloque. • Señalesdeseleccióndeoperación.-determinancuálde lasoperacionesimplementa- das en el bloque va a ejecutarse. Un símbolodeunbloqueMSI genéricosepuedeverenla figura5.1.Enestosbloques,losope- randossuelentenermásde un bit, luego al operandosesuelerepresentarpor unapalabra,es decir, el númerodebits quetieneun operando.La formaderepresentarestasituaciónconsiste enutilizar unalíneadetrazogruesoparalaspalabras;y enel casodequesequieraidentificar el númerode bits de la palabra,a la líneaanteriorsele cruzaunalíneaoblicuaencimade la cual aparece este tamaño. Habitualmente,la utilizacióndeestosbloquessueleestarsupeditadaa unamayorcom- plejidaddel sistemaa implementar. Así mismo,la metodologíaempleadaen la utilizaciónde estosbloquesesdiferentea la basadaen la utilización de puertaslógicas.A grosomodo,se Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática72 buscaráalgúnalgoritmoquemuestreel comportamientonecesario;cadabloquedeestealgor- timo sueletenerunacontrapartidadirectaen dispositivos MSI, por lo quela implementación seríaunamerasustitucióndeoperadorespor dispositivos(comosucedíaenla implementación de las fórmulas lógicas). Un esquemabastantegeneralde un algoritmoesel mostradoen la figura 5.2, llamado generalmentediagramade flujo de datos.A la vista de estediagramapodemosclasificarlos diferentes dispositivos MSI en tres grandes grupos: • Dispositivos aritmético-lógicos.Sonlos encargadosde realizarel procesadocon los datos. • Dispositivosdecaminodedatos.Sonlos encargadosdeconducirel flujo dedatospor el camino correcto para realizar una determinada operación. • Dispositivosdeentrada-salida.Sonlosencargadosdeadecuarla transmisióndeinfor- maciónentreel medioexterior (por lo generalunusuario)y el circuito implementado. Estosdispositivossonnecesarios,ya queno podemosobligar a quecualquierusuario conozcala basede la ElectrónicaDigital para saberintroducir la información y extraer los resultados de las diferentes operaciones. No obstantetenemosqueaclararqueestaclasificaciónno esestándar, ya quealgunosautores introducenlos bloquesaritmético-lógicos,dentrodelos bloquesdecaminodedatos.También los dispositivosdeentrada-salidano suelenaparecerenlos diagramasdeflujo, no obstante,su utilización es necesaria en la implementación final. 2. Bloques aritmético-lógicos. Los bloquesaritmético-lógicossonlos encargadosde realizarel procesadode la infor- macióndeentrada.Dentrodeestosbloquespodemosdestacarlos sumadores,los comparado- res y las unidades aritmético-lógicas o ALU's. 2.1. Bloques sumadores. El primer bloque aritmético-lógico que vamos a ver es el bloque sumador. Un bloquesumadoresaquelquerealizala sumaaritméticadedosnúmeros,comosu propio nombre indica. entrada salida control CS Figura 5.1.- Símbolo genérico de un bloque MSI. n TEMA V.- DISEÑO MSI (MEDIUM SCALE INTEGRATION). 73 No obstante,comoenlosnúmerosreales,unarestaesla sumadeunnúmeroconotronegativo, los bloquessumadoressuelentenerla funcionalidadderealizarla resta,denominándosegene- ralmente sumador-restador. La implementacióndeunsumadordedosnúmerosden bitsnoesúnica,sinoqueexisten multitud de ellas. No obstante, todas (o la mayoría) se pueden agrupar en: • Implementaciónserie:en la que todoslos datosde salidano se obtienende forma simultánea. • Implementaciónparalela:en la quetodoslas señalesde salidaseobtienende forma cuasisimultánea,detal formaqueno esnecesariohallarunaseñaldesalidaparades- pués obtener el siguiente. La experienciaha constatadoquela forma serieesmásefectiva en determinadoscasos.Esta formasebasaenlosdenominadossumadorescompletos,sumadoresdetresbits (unbit delpri- merdato,un bit del segundodatoy el acarreode la suboperaciónanterior).Éstetendrácomo salidas, la salida suma y la salida acarreo. Su tabla de verdad es la mostrada en la figura 5.3. Por lo tantoun bloquesumadorde 4 bits construidocon sumadorescompletospodría estarformadode la forma mostradaen la figura 5.4. No obstante,ademásde estaposible implementación,existenotrasmuchas.La diferenciaentreellassueleradicarprincipalmente en la generacióndel acarreode salida,ya seade forma serie(comoel mostrado)o de forma paralela. Al aumentarlos avancestecnológicos,se han creadobloquesde sumadoresde cuatro bits,siendoéstosúltimoslosbloquesmásempleadosenel diseñoMSI. Tantoel símbolocomo Entrada Proceso 1 Salida Decisión Decisión Proceso 1 Proceso 1 Proceso 1 Figura 5.2.- Esquema genérico de un diagrama de flujo. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática74 la funcionalidaddel bloquesumadorde4 bits,esla mismaqueel de1 bit, peroenlasseñales de datos y de salida en lugar de ir 1 bit, va un bus de 4 bits. Parael casodela resta,podemosoperardedosformas(comoyavimos):generarunblo- que restador o utilizar un bloque sumador con el complemento a dos del sustraendo. Parael casode implementarel bloquerestador, nosbasaremosen la restade tresbits. Tanto su tabla de verdad como una de sus fórmulas logicas se muestran en la figura 5.5. Comovemos,el bloquerestadorsolamentesediferenciadel sumadorcompletoen que una entrada(el minuendo)en el desbordamientoviene complementada.Por lo tanto, si se añadeunanueva señalquedeterminela operacióna realizar(sumao resta),la fórmulacorres- pondiente al bloque sumador-restador sería: S = A⊕ B ⊕ Cin Cout = B·Cin + (A⊕ sel)·(B + Cin) El problemadeestaimplementaciónradicaen la representaciónde los númerosnegati- vos.La representacióndel sustraendoestáhechaenbinarioconvencional(el númeronegativo sedeterminaúnicamenteporel bit designo,siendoel restola magnitud),mientrasqueel resul- tado(si esnegativo) serepresentaencomplementoadosmásunbit designo.Porlo tanto,para A B Cin ∑ Cout 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 ∑ = A ⊕ B ⊕ Cin Cout= A·B + (A+B)·Cin ∑ CoutCin B A Figura 5.3.- Tabla de verdad y símbolo correspondiente al sumador completo. ∑ CoutCin B AA0 B0 ∑ CoutCin B AA1 B1 ∑ CoutCin B AA2 B2 ∑ CoutCin B AA3 B3 ‘0’ ∑0 ∑1 ∑2 ∑3 ∑4 Figura 5.4.- Conexión en cascada de sumadores completos. TEMA V.- DISEÑO MSI (MEDIUM SCALE INTEGRATION). 75 igualarla representaciónhayqueobtenerunbloquedegeneracióndecomplementoados.Este bloque invierte el número, bit a bit, y le suma 1. 2A i = Ai ⊕ Ci-1 Ci = Ai + Ci-1 Otro problema,siendoel principal,esqueestecircuito sóloesválido paranúmerosnaturales ya que no es conmutativo como debe ocurrir en el caso de los números enteros. Debidoa estasrazones,sesueleutilizar siemprela representacióndel complementoa dosmásel bit designoparalos númerosnegativos.De estaforma,la restaquedaríalimitadaa la sumaconel complementoados.Porlo tanto,el bloquesumador-restadorparanúmerosde3 bits, por ejemplo, quedaría de la forma mostrada en la figura 5.6. La forma de operación del bloque sumador-restador es la siguiente: • Cuandola señalS/R seencuentraanivel 0, la operaciónquerealizaráserála suma.En estecaso,y comox ⊕ 0 = x, a la entradaB del bloquesumadorle entraráel datoB y el acarreo de entrada será ‘0’. ∑ = A + B + ‘0’ = A + B • En cambio,cuandodichaseñaldecontrolvale ‘1’, a la entradaB estaráconectadoel complemento de la señal B y al acarreo de entrada entrará un ‘1’. ∑ = A + B + ‘1’ = A - B 2.2. Bloques comparadores. Los comparadoressonlos circuitosquegeneranlasseñalesparadecidirentreun camino de datosu otro. Por lo general,estosbloquessuelentenertressalidasquedeterminansi las entradassoniguales(A=B), si la entradaA esmayorqueB (A>B), o si la entradaA esmenor que B (A<B). A B Oin R Oout 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 R = A ⊕ B ⊕ Oin Oout= A·B + (A+B)·Oin R OoutOin B A Figura 5.5.- Tabla de verdad y símbolo de un bloque restador de tres bits. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática76 Comono sevana tenercomparadoresdetodaslaslongitudesdebits,esnecesariopoder generaruncomparadordem bitsapartirdeotrosden bit. Parapoderconectarvarioscompara- dores,y formar uno con mayornúmerode bits, tambiénsuelentenertresentradasespeciales quenosindicanel estadodelosbitsmenossignificativos(=,<,>).Estastresentradasdebenser talesquesóloy sólounadeellasdebeser‘1’ y ningunaotracombinaciónsepuededarpor lo que la trataremoscomo inespecificaciones.Para el casode que se empiece,la entrada= se colocaráanivel alto (suponiendoqueantesdeconocerlosdatosacomparar, ambosseconside- rarán iguales). La tabla de combinaciones de este bloque se muestra en la tabla 5.1. A B = < > A=B A<B A>B 0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 1 1 1 0 0 1 0 0 1 Resto de combinaciones - - - Tabla 5.1. Tabla de verdad de un bloque comparador de un bit. ∑ CoutCin A B S/R B1 B2 B3 BSB A1 A2 A3 BSA ∑1 ∑2 ∑3 BS∑ Figura 5.6.- Circuito de un bloque sumador-restador. TEMA V.- DISEÑO MSI (MEDIUM SCALE INTEGRATION). 77 Por lo tanto, las ecuaciones lógicas que gobiernan este comportamiento pueden ser: (A=B) = (a'·b + a·b')'·(a=b) (A<B) = (a<b)·(a·b')' + a'·b (A>B) = (a>b)·(a'·b)' + a·b' Un posibleesquemadeuncomparadordeunbit, conposibilidaddeampliaciónsemues- tra en la figura 5.7. El problemade estaimplementaciónes que tiene un retrasoequivalentealto, de tres puertaspor cadabit comparado.Por lo tanto,los bloquessuelenconstruirsedemásdeun bit, generalmente cuatro. La conexión en cascadade varioscomparadoresserealizaríauniendolas salidasde un comparadorconlasentradasdecomparacióndelsiguiente,mientrasquelassalidasdelcompa- radorglobalseránlassalidasdel último comparador. A mododeejemplomostramosun com- paradorde 12 bits implementadocon comparadoresde 4 bits. Para ello necesitamos3 comparadores(12/4= 3). Es interesantever quelasentradasdecomparacióndel primercom- paradordebenser talesque suponga que al principio (antesde operarcon ningún valor) la comparacióndebedarqueambosoperandosseaniguales.Estaconexión sepuedeapreciaren la figura 5.8. a=b A=B A>B A<B a<b a b a>b Figura 5.7.- Una posible implementación de un comparador de un bit. A<B A=B A>B a<b a=b a>b A B A0-3 B0-3 A<B A=B A>B a<b a=b a>b A B A4-7 B4-7 A<B A=B A>B a<b a=b a>b A B A8-11 B8-11 ‘0’ ‘1’ ‘0’ A<B A=B A>B Figura 5.8.- Conexión en cascada de bloques comparadores. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática78 2.3. Unidades aritmético-lógicas (ALU). Enestebloque,setratadellevaral extremola funcionalidadmultipledelbloque.Setrata deun bloquequerealizavariasfunciones,tantoaritméticascomológicas,en funcióndeunas señales de control. El símbolo de una ALU típica de 4 bits se muestra en la figura 5.9. La señalM seleccionaunaoperaciónentrelas32 (25) posiblesparaestecaso.Lasseña- lesCPy CG sonnecesariasparaobtenerla señaldeacarreoadelantado,CO esla señaldeaca- rreo de saliday (A=B) generauna salidade igualdad.Una tabla de operacionestípicasse muestra en la tabla 5.2. M(0) = 0 M(0) = 1 R = A R = A' R = A + B R = (A + B)' R = A' · B R = A' · B R = -1 R = 0 R = A más A'·B R = (A · B)' R = (A+B) más A'·B R = B' R = A menos B menos 1 R = A + B R = A·B' menos 1 R = A·B' R= A más A·B R = A' + B R = A más B R = (A + B)' R = (A+B') más A·B R = B R = A·B menos 1 R = A · B R = A más A desplazado R = 1 R = (A+B) más A R = A + B' R = (A+B') más A R = A * B R = A menos 1 R = A Tabla5.2. TabladeoperacionestípicasdeunaALU(dondelasoperacionesdenominadascon letras son aritméticas, y las designadas con símbolos son lógicas). M(0-4) A CI B R CP CG CO A=B 4 4 5 4 Figura 5.9.- Símbolo de un ALU de cuatro bit. TEMA V.- DISEÑO MSI (MEDIUM SCALE INTEGRATION). 79 3. Bloques de camino de datos. Una vez que hemosvisto los principalesbloquesque procesanlos datos,el siguiente pasoseráver losbloquesquedirigenlasdiferentesseñalesporel caminodeseado,esdecir, los bloquesdecaminodedato.En estecasopodemosencontrarnoscondoscasosbiendiferencia- dos: • Existaunabifurcacióno unaunióndevarioscaminos.Luegodebeexistir unasseñales (que probablementevendránde un comparador)que indique los caminosque se deben conectar. • Existaun solocamino,perotanlargo queseproduzcanfallosdetransmisión.Debido a la no idealidadde los dispositivos (incluidoslos cables),un cabletendráunaresis- tenciay un condensadorparásitoasociadocuyosvaloresvana dependerde la longi- tud. Por lo tanto, si el cable es excesivamentelargo (estosdispositivos parásitos tendránvaloresrelativamentegrandes)el valor lógico sepuedeatenuarlo suficiente como para que el valor lógico de un extremo del cable seadiferenteal del otro extremo, como se puede ver en la figura 5.10. Dentro de estosbloquesapropiadospara la primerasituaciónse puedendestacarlos demultiplexores,multiplexores;mientrasqueparala segundasituaciónsepuedendestacarlos bufferes o drivers y transceptores. 3.1. Demultiplexores. Las bifurcacionesson implementadaspor los denominadosdemultiplexores. Un cir- cuito deestetipo presentaun canaldeentradadeinformación,n señalesdeseleccióny m (2n) canales de salida de información. La denominación de estos dispositivos es la siguiente: DEMUX n:m donden sonel númerodebitsquetienecomoentrada(yaqueel canaldeentradapuedeserun bus quecoincidirácon la anchurade cadacanalde salida)y m sonlos diferentescanalesde salidatal quem = 2s (dondesesel númerodebitsdeselección.Un símbolodemultiplexor 1:4 se muestra en la figura 5.11. La operaciónde estedispositivo es la siguiente.Las señalesS seleccionanuno de los canalesde salida,según su combinaciónbinaria.Luego seconectael canalde entradaconel canalde salidaseleccionado.Los restantescanalesde salidaseconectana un valor fijo bien definido, característicade cadademultiplexor. Una posible tabla de combinacionesde un L Valor lógico Figura 5.10.- Degradación de la señal lógica a través de una conexión real. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática80 demultiplexor semuestraen la tabla5.3, la cual correspondea un demultiplexor 1:4 (ya que tiene una entrada y cuatro salidas). La implementación lógica de este demultiplexor puede ser la mostrada en la figura 5.12. A S1 S0 Q0 Q1 Q2 Q3 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 Tabla 5.3. Tabla de verdad de un demultiplexor. 0 1 0 1 2 3 A A Q0Q0 Q1 Q2 Q3 Q1 Q2 Q3 S0 S1 Figura5.11.-Esquemadeundemultiplexor anivel deconmutadoresy susímbolotradicio- nal. S0 S1 A Q3 Q2 Q1 Q0 Figura 5.12.- Posible implementación de un DEMUX 1:4. TEMA V.- DISEÑO MSI (MEDIUM SCALE INTEGRATION). 81 3.2. Multiplexores. Los multiplexores sonlos dispositivoscomplementariosa los demultiplexores,esdecir, implementanunaunión de diferentescaminos.Un circuito de estetipo presentaun canalde salidade información,n señalesdeseleccióny m (2n) canalesdeentradade información.La denominación de estos dispositivos es la siguiente: MUX m:q dondem esel númerodecanalesdeentrada,queestáintimamenterelacionadoconel número deseñalesdeselección,y q esel númerodebits correspondienteal canaldesaliday por tanto a todoslos canalesdel dispositivo. Un símbolode estecomponentesemuestraen la figura 5.13. La operacióndeestedispositivo esla siguiente.LasseñalesdeselecciónSseleccionarán un canaldeentrada,el cualseráel correspondientea la combinaciónbinariapresenteenestas señales.Estecanalseleccionadoseráconectadoa la salida,mientrasqueel restoestarándesco- nectados.Unaposibletabladecombinacionesdeun multiplexor semuestraenla tabla5.4, la cual corresponde a un multiplexor 4:1 (ya que tiene una salida y cuatro entradas). A partir deestatabladeverdad,podemosobtenerunaimplementación.La implementa- ción lógica de estemultiplexor puedeser la mostradaen la figura 5.14,correspondientea la fórmula: Q = S1’·S0’·A0 + S1’·S0·A1 + S1·S0’·A2 + S1·S0·A3 A0 A1 A2 A3 S1 S0 Q A0 A1 A2 A3 0 0 A0 A0 A1 A2 A3 0 1 A1 A0 A1 A2 A3 1 0 A2 A0 A1 A2 A3 1 1 A3 Tabla 5.4. Tabla de verdad de un MUX 4:1. 01 0 1 2 3 Q Q A0A0 A1 A2 A3 A1 A2 A3 S0S1 Figura5.13.-Esquemadeunmultiplexor anivel deconmutadoresy susímbolotradicional. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática82 Es interesanteobservar quela fórmulaanteriortienemuchasimilitud con la fórmulade mintérminos,dondelas señalesde entradaestánconectadasa las entradasde seleccióny los canalesde entradaactivan (con un ‘1’) o desactivan (con un ‘0’) los mintérminosasociados. Tambiénsepuedeintroducirunadelasseñalesdeentradapor loscanalesdeentradadelmulti- plexor, reduciendoasíel tamañodeéste.Luego, tenemosunanueva metodologíaparaimple- mentar fórmulas lógicas utilizando este tipo de dispositivos. Por ejemplo,si queremosobtenerla implementaciónde la función f = ∑ m(0,1,3,5,6), podríamos utilizar multiplexores de la forma mostrada en la figura 5.15. 3.3. Buffer o driver. La funciónprincipaldeestedispositivo consisteenevitar la pérdidadelos valoreslógi- cosdebidoa la no idealidadde lasconexiones,esdecir, sumisiónprincipal serála regenera- ción de las señalesdigitales.Su símboloy posibleimplementaciónesmostradoen la figura 5.16. La operacióndeestedispositivo consisteenla regeneracióndela señaldigital. Estarege- neraciónconsisteenla conexión a la fuentedepolarizacióno detierraa travésdelos inverso- S0 S1 A0 Q A1 A2 A3 Figura 5.14.- Posible implementación de un MUX 4:1. Figura 5.15.- Implementación mediante multiplexores de fórmulas lógicas. 0 1 2 0 1 2 3 4 5 6 7 01 0 1 2 3 x1 x2 F = x2’·x1’·x0’ + x2’·x1’·x0 + x2’·x1·x0 + x2·x1’·x0 + x2·x1·x0’ x2 x1 x0 ‘1’ ‘0’ ‘1’ = x0 + x0’ x0 x0’ x0 TEMA V.- DISEÑO MSI (MEDIUM SCALE INTEGRATION). 83 res.Unapeculiaridaddeestosdispositivos(comodetodoslosdeestegrupo)esqueel valorde salida tiene que ser siempre igual al de entrada. Esteelementosóloesválido paracanalesen los quela informaciónvayaenun sentido, es decir, sea unidireccionalpuestoque los inversorestambién poseenesta característica. Luego,paraunacorrectaconexión, estosdispositivosdebendeserconectadoscadaciertalon- gituddela últimaconexión. Estalongituddependedeloscablesutilizadosy esunaespecifica- ción que debe dar el fabricante. Dentrodeestosdispositivos,existeunodeespecialimportanciadenominadobuffer tries- tado.En la figura5.17mostramosel símboloy un posibleesquemalógico dedichoelemento. Su funcionamiento es el mismo de un buffer normal cuando la señal sel está activa. No obstante,cuandola señalsel estáinactiva, la salidadel dispositivo tomaun estado denominadoalta impedancia.Esteestadode alta impedanciasignificaqueno existe ninguna conexión hastaun ‘0’ o un ‘1’. Si dichasalidaestáconectadaa otra señal,el valor en dicho puntoseráel quecoloqueesaotraseñal.En casodequeno existaningunaconexión, el valor endicho puntoseráel último (estasituacióntieneel problemade quecualquierinterferencia externa puede producir un cambio del valor). 3.4. Transceptores. En contraposicióncon los bufferes,los transceptores son los dispositivos empleados parabusesbidireccionales,esdecir, sistemasquepermitenla transmisióndela informaciónen ambossentidos.Porlo tanto,debemostenerunaseñalquenosindiqueel sentidodelflujo dela informaciónencadamomento.El símboloy unaposibleimplementaciónsonmostradosenla figura 5.18. La operacióndeestedispositivo essimilar al anteriorcon la salvedaddequeexisteuna nuevaseñal,decontrol,queindicaráel sentidodela transmisión.Dehecho,el transceptorestá compuesto por dos buffer triestado, es decir, un buffer con la posibilidad de no conexión. Figura 5.16.- Símbolo y posible implementación de un buffer o driver. Figura 5.17.- Símbolo y posible implementación de un buffer o driver triestado. sel sel Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática84 4. Bloques de entrada/salida. Comoyasehacomentado,losusuariosdelasaplicacionesbasadasencircuitosdigitales nodebenconocerla teoríarelativaaestoscircuitosenlo másmínimo.No obstante,estosusua- rios seránlos que introduzcanlos datoscon los que realizarlas operacionesy recibiránlos datosdesalida.Luegonecesitamosacondicionarlosdatosqueentiendenloscircuitosdigitales (queutilizaránalgúntipo decódigobinario)y losqueentiendenlosusuarios(comopuedenser númerosdecimales,enel casodecalculadoras;caracteres,enel casodeteclados;etc...).Den- tro de estos bloques, los más representativos son los codificadores y decodificadores. 4.1. Codificadores. Considerandoenprimer lugar la entradadedatos,los codificadoressonlos dipositivos queacondicionanlos datosintroducidosporel usuarioparaquelos circuitosdigitalesdel inte- rior dela aplicaciónloscomprendan.Existentantoscodificacorescomocódigosbinariosy for- masde expresarlos datospor el usuario;no obstantesólo consideraremosel códigobinario natural, que es el más utilizado. La denominación de estos dispositivos es la siguiente: COD n:m donden esel númerodecanalesdeentraday m esel númerodebits necesariosparacodificar dichos canales. Un codificadoresun circuito den entradasy m salidas,tal queen la salidaobtene- mos el código binario correspondiente al canal que ha sido activado. Parael casodel códigobinario natural,y algunosotros,secumplela relaciónentreel númerode entradasy de salidasque 2m = n; no obstanteestarelaciónno se produceen la mayoríadeloscódigos,siendoestala razóndequehayaqueidentificarlosnúmerosdecanales de entrada y de salida. Unaposibletabladecombinacionesparaundecodificadorde4 a2 serála mostradaenla tabla5.5. El problemade dichaimplementaciónestáen la posiblesituaciónde queseactive másdeun canaldeformasimultánea,queaunqueno sedebepermitir, sí setienequeconside- rar. Estasituaciónse debea que una sola combinacióntiene asignadamásde un valor de salida.Por ejemplo,si se presionasimultáneamentelas teclasA1 y A2, el código seráel correspondiente a A3. sel sel sel Figura 5.18.- Símbolo y posible implementación de un buffer o driver. TEMA V.- DISEÑO MSI (MEDIUM SCALE INTEGRATION). 85 Paraevitar estetipo de problemas,la soluciónquesele ha dadoconsisteen añadirun régimende prioridadesa los diferentescanales,de tal forma quesi seseleccionamásde un canaldeentrada,la combinaciónobtenidaa la salidacorresponderáal canalmásprioritario.Si elegimoscomocanalesprioritarioslos demayorpeso,unaposibletablaserála mostradaenla tabla 5.6: En estecaso,al activarseA1 y A2 el códigocorrespondea A2 debidoal régimendepriorida- des elegido.. Porlo tanto,a la variedaddecodificadorestambiénhayquesumarla variedaddepriori- dades,ademásde los diferentescódigosbinariosy de los códigosutilizadospor los usuraios. Todas estas características estarán disponibles en las hojas de especificaciones. 4.2. Decodificadores. Paraacondicionarlos datosobtenidospor el circuito lógico parala claracompresiónpor el usuario,tenemosel decodificador. Al igual que sucedíaen el casode los codificadores, habrátantosdecodificadorescomocódigosbinariosy formasdeexpresarlosdatosporel usua- rio. La denominación de estos dispositivos es la siguiente: DECOD n:m donden esel númerodebitsdevueltoporel circuitoy m esel númerodecanales.Porla misma razónque evidenciamosen los codificadores,de nuevo, en los decodificadoreses necesario indicarel númerode entradasy salidas.Los decodificadoresde códigosbinariosnaturalesse puedenvercomodemultiplexoresdondeel canaldeentradaestáconectadoaunvalorfijo. Este hecho se muestra con la comparación de las tablas de combinaciones de ambos dispositivos. Un decodificadoresun circuito conn entradasy m (2n) salidas,tal queseactiva la salida correspondiente al código de entrada. En la tabla 5.7 mostramos la tabla de combinaciones de un decodificador 2:4. A0 A1 A2 A3 Q1 Q0 1 -- -- -- 0 0 Q1 = A2 + A3 -- 1 -- -- 0 1 -- -- 1 -- 1 0 Q0 = A1 + A3 -- -- -- 1 1 1 Tabla 5.5. Tabla de verdad y posibles ecuaciones lógicas para un COD 4:2. A0 A1 A2 A3 Q1 Q0 1 0 0 0 0 0 Q1 = A2 + A3 -- 1 0 0 0 1 -- -- 1 0 1 0 Q0 = A1·A2' + A3 -- -- -- 1 1 1 Tabla5.6. Tabladeverdady posiblesecuacioneslógicasparaunCOD4:2conprioridaddelos canales de menor peso. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática86 Es interesanteobservar quecadaunade lassalidascorrespondea un mintéminodeuna función de n entradas.Estehechonosproporcionaunanueva metodologíaparaimplementar funcioneslógicassinnecesidaddeminimizarlas.Porejemplo,la implementacióndela función f (w, z, y, x) = ∑ m(0,2,8,10,15)utilizandodecodificacoresy puertaslógicassemuestraen la figura5.19. Cualquierade las tresimplementacionessonequivalentes;la diferenciaentrelas A0 A1 Q0 Q1 Q2 Q3 0 0 1 0 0 0 Q0 = A1'·A2' 1 0 0 1 0 0 Q1 = A1·A2' 0 1 0 0 1 0 Q2 = A1'·A2 1 1 0 0 0 1 Q3 = A1·A2 Tabla 5.7. Tabla de verdad y posibles ecuaciones lógicas para un DECOD 2:4. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 4 8 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 4 8 x y z w x y z w F F 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 4 8 x y z w F Figura 5.19.- Implementaciones de la función lógica f (w, z, y, x) = ∑ m(0,2,8,10,15) utili- zando decodificadores. TEMA V.- DISEÑO MSI (MEDIUM SCALE INTEGRATION). 87 dos primerasconsisteen que el primer codificadores activo a nivel alto, es decir, el canal activo tomaráel valor ‘1’ mientrasqueel restoel valor ‘0’, y el segundoesactivo a nivel bajo. Luego la puertalógicaenlos doscasosdeberáserdiferente:enel primero,comolo quetene- mossonlos 1’s, éstossedeberánsumar;y enel segundo,comotenemoslos ‘0’, estosseten- drán que multiplicar (la negación es debida a que al coger los 1’s como 0’s, estamos implementadorealmentela funcióncomplementada).En el tercercasousamosun decodifica- doractivo anivel bajo,conectandolos0’sdela función(eligiendosuexpresióncomoproducto de maxtérminos, de ahí que no haya que complementarla). Estosdecodificadoresson útiles cuandoqueremosmostrarlas salidasen un led, por ejemplo.No obstantecuandosetratadenúmerosseutilizan los decodificadoresde7 segmen- tosquesuelenestarunidosaundisplayenel queaparecerála formadelnúmerodecimal.Estos decodificadoresmuestrandel 0 al 9, mientrasqueel restodedígitospuedevariarsegúnel tipo de decodificador. Los números aparecerán con la forma mostrada en la figura 5.20. La tabla de combinacionescorrespondienteestedecodificadores la tabla 5.8. De tal formaqueel segmentoquetomael valor ‘1’ seilumina,mientrasqueel quetomael valor ‘0’ permanece apagado, formando los dígitos decimales. Lo mismoqueencontramosel displayde7 segmentos,existenotro displayqueno sólo “dibujan” números sino que incluyen letras y otros caracteres especiales. 5. Aumento de tamaño de dispositiv os MSI. Un puntoimportanteesla generacióndedispositivosMSI demayortamañoa partir de otrosdemenortamaño,ya quepor lo generalno vamosa tenerdispositivosdetodoslos tama- ños posibles sino de unos tamaños estandares. La interconexión delos bloquesdeprocesadoya hasidoconsideradaanteriormente,por lo queno lo vamosa repetir. Sólamentenotarqueesteaumentoseráa travésdela conexión de los acarreos de entrada y salida o de las señales dispuestas para ello. Parael restode los dispositivos susceptiblesde aumentarsu tamañosehaceusode la señaldehabilitación.En estosdispositivosno incluiremoslos bufferesni los transceptoresya queal tenerunasolaentraday unasolasalida,el tamañoaumentaráutilizandoel númerode bufferes y transceptores necesarios. 0 5 2 1 4 6 3 Figura 5.20.- Base y caracteres del decodificador y display de 7 segmentos. Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática88 Parael casodel demultiplexor, si queremosimplementarun demultiplexor deM canales desalidaapartir dedemultiplexoresdeN canalesdesalida,necesitaremosM/N demultiplexo- res(siempreel enteromayor).Lasseñalesdeselecciónde los demultiplexoresseránaquellas demenospeso,mientrasqueel restoestaránconectadasaundecodificador. Lassalidasdeeste decodificador(que corresponderána las combinacionesde las señalesde selecciónde más peso)irán conectadasa las señalesde habilitaciónde los demultiplexorescorrespondientes. Debemosnotarquesi la entradadeselecciónestánegada,el decodificadorquedebemosutili- zar debe ser activo a nivel bajo. Esta implementación es mostrada en la figura 5.21. Si el aumentodecanalesesel doble,y por lo tantosólonecesitamosdosdemultiplexo- res,el decodificadoressustituidopor un cabley un inversor(querealmenteformaun DECOD 2:1). El casodel multiplexor essimilar al del demultiplexor. La únicadiferenciaentreambos elementosconsisteenquela salidacuandoel bloqueno estáseleccionadoesun valor dealta impedanciao no conectado;mientrasqueenel demultiplexor, esel valor fijo deno selección. Estehecho,el valordealtaimpedanciapermitela unióndirectadetodassussalidas.Enel caso deno soportarel valor dealta impedancia,lassalidashabráqueunirlasconpuertasOR (si el valor desalidadeno conexión es‘0’) o puertasAND (si el valor desalidadeno conexión es ‘1’). En la figura 5.21 mostramos uno de estos últimos casos. El casodel decodificadoressimilar al del demultiplexor debidoa su similitud. Por lo tanto, se siguen los mismo pasos que en dicho caso. B3 B2 B1 B0 Q6 Q5 Q4 Q3 Q2 Q1 Q0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 1 1 0 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 0 0 1 1 0 0 0 1 1 0 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 0 1 1 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 Tabla 5.8. Tabla de verdad del decodificador de 7 segmentos. TEMA V.- DISEÑO MSI (MEDIUM SCALE INTEGRATION). 89 Parala unióndeloscodificadoressehacennecesriasunaseriedeseñalesadicionalesque nosuelenestarpresentesenlosdispositivosestándares.Entreestasseñalespodemosencontrar las siguientes: • Señalquedeterminesi el codificadorestáhabilitadoy sehaseleccionadoun canalde entrada. • Señalquedeterminesi el codificadorestáhabilitadoy no sehaseleccionadoun canal de entrada. 01 0 1 2 3 A Q12 Q13 Q14 Q15 S0S1 CS 01 0 1 2 3 Q8 Q9 Q10 Q11 S0S1 CS 01 0 1 2 3 Q4 Q5 Q6 Q7 S0S1 CS 01 0 1 2 3 Q0 Q1 Q2 Q3 S0S1 CS 0 1 2 3 1 2 S2 S3 Figura 5.21.- Aumento del número de canales de salida de un demultiplexor y un multi- plexor. 01 0 1 2 3 A8 A9 A10 A11 S0S1 CS 01 0 1 2 3 A4 A5 A6 A7 S0S1 CS 01 0 1 2 3 A0 A1 A2 A3 S0S1 CS 0 1 2 3 1 2 S2 S3 F 01 0 1 2 3 A12 A13 A14 A15 S0S1 CS Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática90 6. Implementación de un sistema UnavezqueyaconocemoslosdispositivosMSI másusuales,el sisguientepasoconsiste enobtenerunametodologíaparala implementacióndesistemasconestetipo dedispositivos. Ya hemosvisto variasmetodologías(utilizandomultiplexoresy decodificadores)paraimple- mentarfórmulaslógicas;no obstante,enesteapartadonosvamosa centraren la implementa- ción de sistemas complejos, cuyo paso a fórmulas lógicas no sea viable. Parallevaracabola implementacióndeunsistema,lospasosaseguir sonlossiguientes: • Realización del diagrama de flujo que modele el sistema que se desea implementar. • Determinación de los elementosnecesariospara la implementaciónde dicho diagrama. • Conexión de los diferentes elementos Vamosa ilustraresteprocesoconun ejemplo:Sedeseaimplementarun sistemaquedevuelva el valor absoluto de la resta de dos números, codificados en BCD. Un posiblediagramade flujo de datospuedeserel mostradoen la figura 5.22,aunque debemosnotarqueno esel único.La determinacióndeun diagramaquenosconduzcaa una implementación más óptima depende de la pericia del diseñador.. El siguientepasoconsisteenla determinacióndeloselementosnecesariosparala imple- mentacióndedichodiagrama.Estepasosueleserdirecto,y paracadabloqueexisteundisposi- tivo; no obstante será útil realizar una serie de consideraciones: • Será necesario un codificador de BCD a binario natural para la entrada de datos • Seránecesarioun comparadorparaobtenerel mayorde los dosoperandosparaque actue de sustraendo, así mismo se necesitará un multiplexor para la bifurcación. Pasar a binario A > B ? R = A - B R = B - A Pasar a decimal Figura 5.22.- Diagrama de flujo del valor absoluto de la resta. TEMA V.- DISEÑO MSI (MEDIUM SCALE INTEGRATION). 91 • Dos restadores. • Por último, seránecesarioun decodificadorde binario a BCD naturalparaque el usuario puede entender los resultados obtenidos. El último pasoconsisteen la conexión de los diferenteselementosnecesariosparala implementación. Esta conexión se muestra en la figura 5.23. Un nuevo diagramaqueimplementael mismocomportamientoperode unaforma más óptimaesel mostradoenla figura5.24(a).Enesteúltimo diagrama,necesitaremoslossiguien- tes bloques: • Será necesario un codificador de BCD a binario natural para la entrada de datos • Seránecesarioun comparadorparaobtenerel mayorde los dosoperandosparaque actuede sustraendo,asímismosenecesitarándosmultiplexoresparala bifurcación de las dos entradas del restador. • Un restador. • Por último, seránecesarioun decodificadorde binario a BCD naturalparaque el usuario puede entender los resultados obtenidos Finalmente,el circuito que implementadicho comportamientoes el mostradoen la figura 5.24(b). Nos encontramosanteuna soluciónmásóptima porqueel costede los restadoreses mayor que el de los multiplexores. Codificador a binario 4 4 A B a<b a=b a>b A<B A=B A>B A-B 4 4 4 0 1 4 4 4 Codificador a binario Decodificador a decimal A B ‘0’ ‘1’ ‘0’ A B Figura 5.23.- Circuito que implementa el comportamiento del diagrama de la figura 5.22. A-B 4 4 4 A B Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática92 Pasar a binario A > B ? X = A Pasar a decimal Figura 5.24.- (a) Diagrama de flujo del valor absoluto de la resta, y (b) el circuito que lo implementa. Y = B R = X - Y X = B Y = A Codificador a binario 0 1 4 4 4 4 4 A B a<b a=b a>b A<B A=B A>B A-B 4 4 4 0 1 4 4 4Codificador a binario Decodificador a decimal A B ‘0’ ‘1’ ‘0’ A B (a) (b)