Está en la página 1de 170

TEMA I: INTRODUCCIN A LA ELECTRNICA DIGITAL

1. Electrnica Digital
Antes de empezar en el tema en cuestin, vamos a dar una posible denicin de la disciplina que vamos a tratar, as como su mbito de accin. Una posible denicin de Electrnica puede ser la ciencia que estudia los fenmenos relacionados con el transporte de carga elctrica en medios materiales junto con la construccin de dispositivos, circuitos y sistemas basados en ellos. Esta ciencia se divide en dos grandes ramas: Analgica y Digital. La Electrnica Analgica es la parte de la Electrnica que trabaja con variables continuas de tal forma que un pequeo cambio en alguna variable puede producir un gran cambio en el comportamiento del circuito. Por lo tanto, las variables sern nmeros reales. Un ejemplo de estos circuitos puede ser un amplicador de seal. La Electrnica Digital es la parte de la Electrnica que trabaja con variables discretas. Este hecho implica que un pequeo cambio en alguna de las variables del circuito (siempre que no cambie su valor discreto) no producir un cambio apreciable en el comportamiento del circuito. Es decir, el comportamiento del circuito no depende del valor exacto de la seal. Un mismo circuito electrnico, dependiendo de la zona de operacin que interese, tiene su operacin analgica y digital. Por ejemplo, en la gura 1.1 mostramos la forma de operacin de un sistema electrnico tpico. En esta forma de operacin, podemos observar que en los extremos apenas existe un cambio en la seal de salida independientemente de la magnitud del cambio en la seal de entrada; estas son las zonas que le interesan a la rama digital de la Electrnica, ya que sin conocer el valor exacto de la seal de entrada podemos dar un valor de salida. En cambio, la parte central se produce el caso contrario, es decir, para un pequeo cambio de la seal de entrada existe un gran cambio en la seal de salida; esta es la zona donde se interesa la rama analgica de la Electrnica, ya que debemos conocer exactamente el valor de la seal de entrada (su valor continuo) para poder dar un valor a la seal de salida. Una vez llegados a este punto, nos preguntamos por qu estudiar los circuitos digitales. La razn bsica radica en el aumento de abilidad en el procesamiento y transmisin de la informacin ya que una pequea degradacin de la seal no inuir en su valor (o en su inuencia como entrada en un circuito digital). A este motivo se le pueden aadir otros ms, como pueden ser: se dispone de un soporte matemtico adecuado, como son las lgebras discretas; existen tecnologas de fabricacin adecuadas; contamos con una amplia distribucin comercial debido a su amplias aplicaciones en mltiples campos, etc.

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Salida

mbito analgico

mbito digital

Entrada Figura 1.1.- Diferencia existente entre Electrnica Analgica y Electrnica Digital.

Dentro de los circuitos digitales, existe una divisin en dos grandes grupos: circuitos combinacionales y circuitos secuenciales. Los circuitos combinacionales se caracterizan por el hecho de que las salidas nicamente dependen de la combinacin de entradas y no de la historia anterior del circuito; por lo tanto, no tienen memoria y el orden de la secuencia de entradas no es signicativo. Los circuitos secuenciales se caracterizan por el hecho de que las salidas dependen de la historia anterior del circuito adems de la combinacin de entradas; por lo que estos circuitos s disponen de memoria y el orden de la secuencia de entradas s es signicativo.

2. Representacin Numrica
Debido al carcter discreta y a los componentes utilizados en Electrnica Digital (en la actualidad, dispositivos como transistores y diodos), no se va a emplear el sistema decimal sino el sistema binario. Por lo tanto, es necesario introducirnos en la teora de los sistemas numricos, con vistas a su aplicacin a la conversin entre los principales sistemas. En cualquier sistema numrico, se dene la base o raz como el nmero mximo de dgitos disponibles en dicho sistema. As, los sistemas numricos ms importantes son los siguientes: Sistema decimal o de base 10, que consta de diez dgitos: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. Sistema binario o de base 2, que consta de dos dgitos: {0, 1}. Sistema octal o de base 8, que consta de ocho dgitos: {0, 1, 2, 3, 4, 5, 6, 7}. Sistema hexadecimal o de base 16, que consta de diecisis dgitos: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}.

TEMA I: INTRODUCCIN A LA ELECTRNICA DIGITAL

La notacin posicional de un nmero es la colocacin de los dgitos del sistema numrico, al que pertenece, uno detrs de otro. El valor numrico correspondiente a un numero N en un sistema de base b es: ( N )b = pn b + pn 1 b n n1 + + p0 b + p1 b 0 1 + + pm b m =

i = m

pi b

Donde pi es el dgito correspondiente en dicho sistema, vericando que 0 <= pi <= b-1.Esto es debido a que p0 es el resto de la divisin de N entre b. Por ejemplo: (123.2)10 = 1*102 + 2*101 + 3*100 + 2*10-1 (1211.1)3 = 1*33+ 2*32 + 1*31 + 1*30 + 1*3-1 (F02.1)16 = 15*162 + 0*161 + 2*160 + 1*16-1 Como ya hemos mencionado, los sistemas numricos ms importantes son los sistemas decimal, binario, octal y hexadecimal. El sistema decimal es el empleado en la vida cotidiana. El sistema binario es el sistema que emplearemos en Electrnica Digital, ya que trataremos la mayora de los elementos como interruptores, es decir, con dos estados: encendido (permite el paso de la informacin, estado 1) o apagado (no permite dicho paso, estado 0). No obstante como (100)10 = (1100100)2, observamos que se necesita un nmero relativamente grande de dgitos binarios para expresar un nmero decimal relativamente pequeo. Por lo tanto, aparecieron los sistemas octal y hexadecimal para disminuir este nmero de dgitos sin demasiada complicacin puesto que su conversin a binario y viceversa es muy directa como ya veremos. 2.1. Conversiones entre sistemas numricos. Para trabajar con varios sistemas numricos, como por ejemplo el sistema decimal y el binario debemos ser capaces de convertir nmeros de una base a otra. Existen dos mtodos de conversin de base: polinmico e iterativo. El mtodo polinmico consiste en expresar el nmero de la base fuente como un polinomio y evaluarlo segn la aritmtica de la base destino. Por ejemplo: (1011)2 = 1*23+ 0*22 + 1*21 + 1*20 = (11)10 Este mtodo tiene el problema de que si la base destino no es la decimal, tendremos que usar una aritmtica diferente a la que normalmente utilizamos. Por lo tanto, este mtodo suele ser usado para convertir nmeros a un sistema decimal. El mtodo iterativo consiste en ir dividiendo el nmero (usando la aritmtica de la base fuente) por la base destino de tal forma que los restos nos irn dando los dgitos en la nueva base, siendo el ms signicativo el ltimo dgito obtenido. (p3*b3 + p2*b2 + p1*b1 + p0*b0)/b = p3*b2 + p2*b1 + p1*b0 + p0/b Resto: p0

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica Cociente: p3*b2 + p2*b1 + p1*b0

Es decir, cuando se realiza la primera divisin, el resto que nos queda es el dgito menos signicativo en la nueva base y el cociente es el nmero restante. Este proceso se repite hasta que el cociente sea 0. Por ejemplo: p0 p1 p2 p3 11 1 2 5 1 2 2 0

2 1 1

2 0

Hasta ahora, slo hemos tenido en cuenta la parte entera de los nmeros. Con el mtodo polinmico, la parte fraccional se trata igual que la parte entera permitiendo que los exponentes de la base sean negativos. Esto nunca nos dar un nmero mayor que uno ya que los dgitos son menores que la base. Por ejemplo: (0.101)2 = 1*2-1 + 0*2-2 + 1*2-3 = (0.625)10 Con el mtodo iterativo, la parte fraccional debe evaluarse por separado de la parte entera. La parte fraccional se multiplica por la base, la parte entera corresponde al nuevo dgito, mientras que se vuelve a iterar con la parte fraccional restante. Del mismo modo que antes, vemos que si realizamos la multiplicacin en un polinomio genrico 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 En este ltimo caso, como ya hemos visto, la aritmtica empleada es la de la base fuente, por lo que se suele utilizar para la conversin de nmeros decimales a cualquier otra base. Adems, como sucede en cualquier sistema numrico, podemos encontrar nmeros con innitos dgitos decimales. A continuacin, ilustramos un ejemplo de conversin de un nmero fraccionario decimal a binario: 0.625 * 2 = 1.250 0.250 * 2 = 0.500 0.500 * 2 = 1.000 0.000 * 2 = 0.000 Debido a que las bases octales y hexadecimales son potencia de dos (16 = 24 y 8 = 23), la conversin entre estos sistemas y el binario es muy sencilla. Fijmonos en el valor numrico de nmeros binarios, octales y hexadecimales genricos:

TEMA I: INTRODUCCIN A LA ELECTRNICA DIGITAL b6*26 + b5*25 + b4*24 + b3*23 + b2*22 + b1*21 + b0*20 O2*82 + O1*81 + O0*80 H1*161 + H0*160

Por ser las bases octales y hexadecimales potencias de dos, en el nmero binario podemos agrupar los dgitos en funcin de estas potencias: (b6*20)*82 + (b5*22 + b4*21 + b3*20)*81 + (b2*22 + b1*21 + b0*20)*80 (b6*22 + b5*21 + b4*20)*161 + (b3*23 + b2*22 + b1*21 + b0*20)*160 Al comparar las dos ltimas expresiones con las expresiones genricas de los nmeros octales y hexadecimales, podemos obtener las siguientes igualdades: O2 = b6*20 O1 = b5*22 + b4*21 + b3*20 O0 = b2*22 + b1*21 + b0*20 H1 = b6*22 + b5*21 + b4*20 H0 = b3*24 + b2*22 + b1*21 + b0*20 Por lo tanto, podemos realizar la conversin dgito a dgito, y no tener que tratar con el nmero completo. Luego cada dgito octal (hexadecimal) ser sustituido por grupos de tres (cuatro) dgitos binarios con el mismo valor numrico. En el caso de la conversin desde binario a octal (hexadecimal) consiste en la conversin en grupos de tres (cuatro) dgitos (si faltan a la izquierda dgitos para completar algn grupo, se le aaden 0s). Por ejemplo: 11 1 2 5 1 11 3 2 1 1 2 0 8 1 1 0 0 1 0 1 1 1 3 1 0 1 1 B

2 2 0

8 0

11 8 B 0

7160 111 001 110 000 1010

A04 0000 0100

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

3. Cdigos Binarios
A partir de ahora (salvo que se indique lo contrario) vamos a trabajar con el sistema binario, cuyos dgitos se denominan bits. Una vez visto como podemos pasar de una base a otra, nos falta determinar la relacin biunvoca existente entre la informacin y la palabra de cdigo por la que ser representada. Esta relacin viene dada por el cdigo. Como el sistema numrico con el que trabajamos habitualmente es el sistema decimal, la mayora de los cdigos que veremos sern cdigos BCD (decimal codicado en binario). Estos cdigos necesitan cuatro bits por cada dgito decimal ya que 23 < 10 < 24. As, el cdigo BCD natural es aquel que representa cada dgito decimal por su expresin polinmica. Dentro de los cdigos, podemos encontrar a un grupo cuyo valor se puede obtener a travs de un polinomio con los dgitos de dicho cdigo a travs de un producto escalar.
Valor = w 3 c 3 + w 2 c 2 + w 1 c 1 + w 0 c 0

donde el vector (w3w2w1w0) es conocido como vector peso y el (c3c2c1c0). Los cdigos que muestran esta caracterstica se denominan cdigos pesados o con peso. El caso del cdigo BCD natural se encuentra dentro del grupo de los cdigos con peso ya que cada bit se encuentra multiplicado por un peso (8,4,2,1). Otros ejemplos de cdigos con peso son los que tienen como peso (8,4, -2, -1) y (2,4,2,1). Un ejemplo de cdigo no pesado es el cdigo de exceso a 3. Este cdigo se obtiene como el cdigo binario del resultado de la suma del dgito en cuestin con el nmero tres. Estos cdigos los podemos ver en la siguiente tabla. BCD natural Dgito Exceso a 3 Decimal 8 4 2 1 8 4 -2 -1 2 4 2 1 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 Tabla 1.1. 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 Ejemplos de cdigos binarios. 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0

Excepto el cdigo BCD natural, los otros tres tienen la propiedad de ser autocomplementarios, es decir, si complementamos (cambiar 1s por 0s y viceversa) la palabra bit a bit, obtendremos la palabra correspondiente al dgito 9-d. En algunos dispositivos es til que las palabras correspondientes a valores prximos se diferencien poco para que el posible error en la transmisin no engae demasiado el resultado nal. Por ejemplo, si pasamos de 7 (0111) a 8 (1000) y se produce un fallo en el ltimo bit, de tal forma que no se produce su transicin, el resultado obtenido sera de 0000 (0). As, se dene la distancia de Hamming como el nmero de bits que dieren entre dos palabras de cdigo; y se dene un cdigo de distancia n como aquel cuya distancia de palabras consecuti-

TEMA I: INTRODUCCIN A LA ELECTRNICA DIGITAL

vas es n. Estos cdigos se pueden clasicar en: cdigos cerrados, cuando la ltima palabra tiene una distancia n con respecto a la primera; y cdigos abiertos, cuando la ltima palabra tiene una distancia diferente a n con respecto a la primera palabra. Un ejemplo de cdigo de distancia unidad cerrado es el cdigo de Gray, que se caracteriza con una fcil implementacin a partir del cdigo binario. Binario natural Cdigo Gray Dgito Decimal b3 b2 b1 b0 g3 g2 g1 g0 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 1 1 Tabla 1.2. 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 0 1 1 0 gi = 0<=> bi = bi+1 1 0 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 1 0 1 Generacin del cdigo Gray a partir del cdigo binario natural.

3.1. Cdigos detectores de error. A la hora de utilizar diferentes cdigos, podemos encontrar diversos motivos, como puede ser evitar que la informacin caiga en manos no deseadas. No obstante, otro motivo ms prctico consiste en enviar informacin sobre la existencia de posibles fallos en la transmisin. Existen cdigos que incluyen informacin para poder detectar y/o corregir estos posibles fallos. Una vez llegados a este punto, nos deberemos preguntar sobre cuntos bits consideraremos los fallos. En principio, sera lgico pensar que consideraramos los fallos de transmisin en todos los bits; pero esta situacin sera excesivamente costosa. Luego nos jaremos en las probabilidades que existen de que ocurran errores segn el nmero de bits errneos. Segn estos estudios, la probabilidad cae excesivamente cuando los fallos ocurren en dos o ms bits; por lo tanto, slo tendremos en cuenta fallos en un solo bit. Para que sea factible la deteccin de fallos, se debe garantizar que la palabra obtenida tras el fallo no pertenezca al cdigo en cuestin. Si hablamos en trminos de la distancia de Hamming, la palabra correcta y la errnea tienen una distancia igual a 1. Luego una condicin necesaria y suciente ser que todas las palabras del cdigo tengan una distancia mnima de dos entre todas ellas. As, podemos comprobar la siguiente armacin: Cualquier cdigo de deteccin de fallo en un solo bit debe tener al menos una distancia de dos entre cualesquiera dos palabra de cdigo. Las palabras con una distancia mnima de dos se pueden usar como cdigos de deteccin de error en un bit, y as poder utilizarlas como chequeadoras del canal de transmisin. Al tener una distancia mnima de dos, entre dos palabras correctas siempre habr una combinacin de bits (que corresponder a las posibles palabras errneas) las cuales no sern ninguna de

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

nuestras palabras de cdigo. Por lo tanto, cuando se produce un fallo en un solo bit, la combinacin obtenida ser alguna de las que no pertenecen al cdigo pudiendo detectar el fallo. distancia n+8 n+7 n+6 n+5 n+4 n+3 n+2 n+1 n

Palabra Palabra Palabra Palabra Palabra

Fallo en un solo bit

Figura 1.2.- Comportamiento de un cdigo detector de fallos en un solo bit ante la existencia de un fallo en un bit. Los cdigos que solamente detectan la existencia de un fallo se denominan cdigos detectores de errores. Dos de los cdigos que puede detectar errores son los cdigos 2-out-of5 y biquinario. El cdigo 2-out-of-5 tiene la peculiaridad de que tiene todas las combinaciones de cinco bits que tienen dos 1s entre todos sus bits. Por lo tanto, una forma de detectar errores ser la comprobacin de que nicamente existan dos 1s. De esta forma, un error en un bit nos aportar una palabra con tres 1s o ningn 1. La deteccin no se da para fallos en ms bits por dos razones: Fallos en un nmero par de bits puede producir una palabra con dos 1s, considerada correcta. Fallos en un nmero impar de bits puede producir el mismo comportamiento que el fallo en un solo bit, no pudiendo saber en cuntos bits se ha producido el fallo. El cdigo biquinario muestra un aspecto similar al anterior, es decir, todas sus palabras contienen dos 1s en todos sus bits, pero a diferencia del primero no contiene todas las combinaciones de dos 1s en todos sus bits, no obstante existe una relacin que slo es cumplida por las palabras correctas del cdigo. As la deteccin de un fallo se realiza comprobando que exista un 1 en los dos primeros bits, y otro 1 en los cinco restantes. Al igual que el anterior slo se considera fallos en un solo bit por razones similares. Podemos comprobar, que este cdigo es pesado, propiedad que no comparte con el anterior. No obstante, la tcnica ms empleada es la adicin de un nuevo bit, denominado bit de paridad, a cualquier cdigo. Este bit informar si el nmero de 1s de la palabra es par (bit de paridad a 0) o impar (bit de paridad a 1). Por lo tanto, si se produce un fallo en un bit, la informacin de la paridad ser errnea.

TEMA I: INTRODUCCIN A LA ELECTRNICA DIGITAL Biquinario Binario con paridad

Dgito decimal 0 1 2 3 4 5 6 7 8 9

5 0 4 3 2 1 0 b3 b2 b1 b0 p 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 Tabla 1.3. Ejemplos de cdigos detectores de errores en un solo bit.

2-out-of-5

3.2. Cdigos correctores de errores. Una vez que hemos visto como se pueden detectar errores en la transmisin de la informacin, debemos pasar a ver como podemos determinar cul de los bits es el que ha producido el error. Estos cdigos se denominan cdigos correctores de error. En el caso de correccin, tenemos que conseguir que la palabra errnea se encuentre ms cerca (en el sentido de la distancia de Hamming), o lo que es lo mismo, tenga menos bits diferentes con respecto a una sola palabra del cdigo. Con este criterio de cercana, podemos asegurar cul es la palabra que se ha querido transmitir (con mayor probabilidad), y por lo tanto, saber cul ha sido el bit que ha producido el error. distancia n+8 n+7 n+6 n+5 n+4 n+3 n+2 n+1 n

Palabra

Palabra

Fallo en un solo bit

Palabra

Figura 1.3.- Comportamiento de un cdigo corrector de fallos en un solo bit ante la existencia de un fallo en un bit. Por lo tanto, la distancia mnima que tiene que tener todas las palabras de cdigo entre s es igual a tres.

10

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

As, podemos dar una condicin necesaria y suciente para que un cdigo sea corrector en un solo bit: La condicin necesaria y suciente para que cualquier conjunto de palabras binarias sea un cdigo corrector de un error en un solo bit, es que la distancia mnima entre ellas sea de tres. Para lograr esta meta se hace necesario aadir ms bits (no es suciente con un solo bit de paridad), por lo que en la palabra podemos diferenciar bits de mensaje (son los que realmente llevan la informacin til) y bits de chequeo (son los que llevan la informacin para corregir los posibles fallos). Estos bits de chequeo suelen ser, por lo general, bits de paridad de un determinado subconjunto de bits de mensaje. Para que se logre este cometido, un fallo en un bit de mensaje debe producir una contradiccin en ms de un bit de chequeo, mientras que un fallo en un bit de chequeo slo debe producir una contradiccin en dicho bit (bits de chequeo independientes explcitamente). Un ejemplo de estos cdigos consta de tres bits de chequeo (C1, C2 y C4) y cuatro bits de mensaje (M3, M5, M6 y M7), mostrado en la tabla 1.4. Dgito 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 cdigo corrector de error en un solo bit. Una vez que disponemos de un cdigo corrector, tenemos que obtener cules son los bits de mensaje cuya paridad es almacenada en cada bit de chequeo. Una forma sencilla de obtener esta informacin consiste en considerar todas las palabras que tengan un solo 1 en todos los bits de mensaje; por lo que los bits de chequeo que tomen el valor 1, vern a este bit de mensaje. Por ejemplo, consideremos la palabra 1 que slo tiene un 1 en el bit M7. En este caso, todos los bits de chequeo tienen el valor 1, por lo que todos ellos chequearn a 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 Veamos ahora como se detecta el bit donde se ha producido un fallo. No podemos olvidar que estamos ante situaciones de errores en un solo bit; as que si detectamos un fallo en dos bits de chequeo, el fallo deber estar en el nico bit de mensaje comn a dichos bits de chequeo. 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

TEMA I: INTRODUCCIN A LA ELECTRNICA DIGITAL 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

11

Para poder obtener el nmero de bits de chequeo para crear un cdigo corrector de errores en un solo bit, se verica que k+m<=2k-1; donde k es el nmero de bits de chequeo y m es el nmero de bits de mensaje. El hecho de 2k-1 radica en que el nmero de bits de chequeo debe ser tal que tenga tantas combinaciones como posibilidades de fallos, eliminando la posibilidad de la no existencia de fallo.

12

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

TEMA II: LGEBRA DE CONMUTACIN


En este captulo veremos los mtodos matemticos que se disponen para las operaciones relacionadas con los circuitos digitales, as como las funciones ms bsicas de la aritmtica binaria.

1. Denicin de lgebra de Boole. Postulados.


Se dene como lgebra de Boole a un sistema matemtico con un conjunto de elementos B y dos operaciones binarias cerradas () y (+) siempre y cuando se cumplan los siguientes postulados: P1.- las operaciones tienen la propiedad conmutativa. a+b = b+a ab = ba P2.- las operaciones son distributivas entre s a(b+c) = ab + ac a+(bc) = (a+b)(a+c) P3.- las operaciones tienen elementos identidad diferentes dentro de B. Estos elementos son denidos como 0 para (+) y 1 para (). a+0 = a a1 = a P4.- para cada elemento, a, del conjunto B, existe otro elemento denominado complemento, a tambin del conjunto B, tal que se cumple: a+a = 1 aa = 0 Como podemos ver, en cualquier lgebra booleana se cumple el principio de dualidad: Cualquier teorema o identidad algebraica deducible de los postulados anteriores puede transformarse en un segundo teorema o identidad vlida sin mas que intercambiar las operaciones binarias y los elementos identidad.

14

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica Como en cualquier lgebra, podemos disponer de constantes y de variables. As, una constante se define como cualquier elemento del conjunto B. Mientras que una variable es un smbolo que representa un elemento arbitrario del lgebra, ya sea una constante o una frmula algebraica completa.

2. Teoremas del lgebra de Boole.


En cualquier lgebra de Boole se pueden demostrar los siguientes teoremas: Teorema 2.1.- El elemento a del 4 postulado (denominado complemento o negacin de a) est unvocamente determinado, es decir, es nico. Demostracin.- Supongamos que existen dos complementos de a: a1 y a2. a2 = a21 = a2(a+ a1) = a2a + a2a1 = aa1 + a2a1 = (a + a2)a1 = a1 Teorema 2.2.- (o Teorema de elementos nulos) Para cada cualquier elemento a, se verica a+1 = 1 y a0 = 0 Demostracin.a+1 = 1(a+1) = (a+a)(a+1) = a + a1 = a + a = 1 a0 = a0+0 = a0 + aa = a(a+0) = aa = 0 Teorema 2.3.- Cada uno de los elementos identidad es el complemento del otro, es decir, 1 = 0 y 0 = 1 Demostracin.- Si fuese cierto, deberan 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 verica: a+a=a aa=a Demostracin.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) = a1 = a Teorema 2.5.- (o Teorema de involucin) Para cada elemento de a, se verica que el complemento del complemento de a es a, es decir, (a) = a Demostracin.-

TEMA II: LGEBRA DE CONMUTACIN a + (a) = 1 = a + a = a + a > a = (a) a (a) = 0 = a a = a a > a = (a) Teorema 2.6.- (o Teorema de absorcin) Para cada par de elementos, a y b, se verica: a+ab=a a (a + b) = a Demostracin.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 verica: a + a b = a + b a (a + b) = a b Demostracin.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 verica (a + b) = a b (a b) = a + b Demostracin.- 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

15

Teorema 2.9.- (o Leyes de DeMorgan generalizadas) Para cualquier conjunto de elementos se verica: (X0 + X1 + + Xn) = X0 X1 Xn (X0 X1 Xn) = X0 + X1 + + Xn Teorema 2.10.- (o Teorema de asociatividad) Cada uno de los operadores binarios (+) y () cumple la propiedad asociativa, es decir, para cada tres elementos, a, b y c, se verica (a + b) + c = a + (b + c) (a b) c = a (b c)

3. lgebra de Conmutacin.
Hasta ahora no hemos puesto ninguna restriccin al conjunto de elementos ni a los operadores binarios (salvo los postulados que deberan cumplir). Si particularizamos para el caso

16

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

de los circuitos digitales, restringimos el conjunto de elementos a los dos dgitos binarios {0,1} y las operaciones binarias son las siguientes: A B + Negacin 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 conmutacin. Se verica que un lgebra denida de la forma mostrada en la tabla 2.1 se trata de un lgebra de Boole. La demostracin de esta armacin se realiza mediante la vericacin de los cuatro postulados: P1.- Se comprueba por simple inspeccin de la denicin de las operaciones. A 0 0 0 0 1 1 1 1 P2.- Se puede comprobar evaluando todas las combinaciones posibles. B C A(B+C) AB + AC A + BC (A + B)(A+C) 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 Tabla 2.2. Demostracin de la propiedad distributiva.

P3.- Por inspeccin de los operadores se puede vericar. A B AB A+B 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 1 Tabla 2.3. Demostracin de los elementos neutros. P4.- Por denicin del operador complemento. Un lgebra as denida se denomina lgebra de conmutacin. Los operadores de esta lgebra reciben los siguientes nombres: operador + > operador OR operador > operador AND operador > operador NOT y los circuitos electrnicos que realizan estas operaciones se denominan puertas (OR, AND y NOT o inversor). Estas puertas tienen unos smbolos especiales, los cuales son mostrados en la gura 2.1. stos son los smbolos tradicionales; y aunque existe una simbologa internacional tambin mostrada, usaremos preferentemente estos smbolos:

TEMA II: LGEBRA DE CONMUTACIN

17

Puerta AND

Puerta OR 1

Puerta NOT o inversor 1

&

Figura 2.1.- Smbolos tradicionales e internacionales de las puertas lgicas ms bsicas.

4. Funciones y Frmulas de Computacin.


En primer lugar vamos a denir las relaciones existentes entre los elementos del lgebra, es decir, lo que se entiende por una funcin. Se define una funcin 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 funcin para s. Una funcin completa tambin es denominada funciones completamente especicadas o funcin de conmutacin. Una forma de representacin de las funciones de conmutacin es la llamada tabla de combinaciones o tabla de verdad. Est formada por n+1 columnas: n columnas para las variables de entrada y una para el valor de la funcin; y 2n las (de todas las combinaciones posibles de las n entradas). Un ejemplo de tabla de combinaciones, para una funcin de tres variables, sera la mostrada en la tabla 2.4: 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 funcin lgica Las funciones de conmutacin se pueden expresar mediante frmulas o expresiones de conmutacin. Una frmula o expresin de conmutacin de n variables se dene recursivamente como: Las constantes 1 y 0 son frmulas de conmutacin La variables xi es una frmula si se encuentra restringida al conjunto {0,1} Si A es una frmula, entonces A tambin lo es

18

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica Si A y B son frmulas de conmutacin, entonces el resultado de cualquier operacin binaria de ellas tambin lo es. Es decir, A+B y AB tambin son frmulas de conmutacin Nada ms es una frmula de conmutacin, a menos que se sigan los anteriores puntos en un nmero nito

As, encontramos que son frmulas de conmutacin: x1x2 + x3x4 x1(x2+ x3) (x1 + x2)(x3 +x4) Mientras que los siguientes ejemplos no son frmulas de conmutacin: x1+ x3x4 x1(x2+ x3) Como todos los postulados y teoremas del lgebra de conmutacin fueron formulados mediante variables (las cuales pueden ser tanto constantes como expresiones completas), stos pueden ser aplicados a cualquier funcin o frmula de conmutacin. Teorema 2.11.- Cada frmula de conmutacin describe una nica funcin de conmutacin. Demostracin.- De cada frmula podemos obtener una tabla de combinaciones que es nica, evaluando la frmula para todas las combinaciones posibles de las variables de entradas. Como una funcin es biunvocamente representada por una tabla de combinaciones, si la ltima es nica, la primera tambin lo ser. Se dice que dos frmulas de conmutacin son equivalentes (A = B) si describen la misma funcin de conmutacin. Por ejemplo, si consideramos la funcin mostrada en la tabla 2.5, las siguientes frmulas son equivalentes: F(X1, X2) = X2 F(X1, X2) = X1X2 + X1X2 F(X1, X2) = (X1+X2)(X1+X2) X1 0 0 1 1 X2 F(X1, X2) 0 0 1 1 0 1 1 0 Tabla 2.5. Ejemplo de funcin lgica.

Como se puede ver, pueden existir muchas frmulas de conmutacin que describan a la misma funcin de conmutacin. Dentro de las frmulas de conmutacin, hay algunas que son de especial inters, las cuales se denen a continuacin: Se denomina trmino producto a la operacin AND de un nmero dado de literales (variables o constantes).

TEMA II: LGEBRA DE CONMUTACIN Se denomina trmino suma a la operacin OR de un nmero dado de literales (variables o constantes). Se define frmula normal disyuntiva a la expresin de la funcin como suma de trminos productos, o se dice que se encuentra expresada en forma normal disyuntiva. Se define frmula normal conjuntiva a la expresin de la funcin como producto de trminos suma, o se dice que se encuentra expresada en forma normal conjuntiva. Por ejemplo: Frmula normal disyuntiva > F(X0, X1, X2) = X1X2 + X1X2 Frmula normal conjuntiva > F(X0, X1, X2) = (X1 + X2)(X1 +X2) Se define mintrmino al trmino producto en el que aparecen todas las variables una y una sola vez, ya sea complementada o sin complementar; por lo tanto, un mintrmino es un caso especial de trmino producto. Por ejemplo, X1X2 es un mintrmino denominado m1. A la frmula normal disyuntiva en el que todos los trminos productos que aparecen son mintrminos, se le denomina frmula cannica disyuntiva. Se verican los siguientes teoremas:

19

Teorema 2.12.- Dada la lista completa de mintrminos de n variables, asignando arbitrariamente 1s y 0s a cada variable, se verica que un nico mintrmino tomar el valor 1. Demostracin.- Para que dos o ms mintrminos tomasen el valor 1 con una sola combinacin de las variables de entrada, se debe cumplir que dichos mintrminos no se vean inuidos por alguna variable, que se traduce en la inexistencia de dicha variable en el mintrmino. Pero dicha armacin, contradice la denicin de mintrmino en la deben aparecer todas las variables de la funcin. Teorema 2.13.- La frmula compuesta por los 2n mintrminos ser idnticamente 1. Demostracin.- Del teorema anterior, vemos que una determinada combinacin de 1s y 0s en las variables de entrada, provoca que un mintrmino tome el valor 1. Por lo tanto si sumamos todos los mintrminos posibles, siempre habr algn mintrmino que tome el valor 1, que al sumarlo con los restantes 0s, dar a la funcin el valor 1. Teorema 2.14.- Cada funcin puede expresarse como suma de mintrminos. Demostracin.- Cualquier funcin se puede expresar como suma de trminos productos, al evaluar los parntesis de una frmula equivalente. Una vez que tengamos una frmula equivalente a la original escrita como suma de trminos productos, pasamos a incluir en todos los trminos, todas las variables de la funcin. Para ello, haremos uso del elemento identidad y el cuarto postulado (a+a=1, en particular), sustituiremos los 1s necesarios de los trminos productos por expresiones del tipo (a+a) de las variables que no aparecen. De nuevo se evalan los parntesis y obtendremos nalmente la frmula cannica disyuntiva.

20

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica Supongamos que tenemos la frmula disyuntiva F(x,y,z) = xy + z Para pasar a frmula cannica debera multiplicar por las variables que faltan en cada trmino producto, es decir, F(x,y,z) = xy(z+z) + (x+x)(y+y)z = = xyz + xyz + xyz + xyz + xyz + xyz

Teorema 2.15.- La frmula cannica disyuntiva o de mintrminos es nica. Demostracin.- Como una combinacin de las variables har que un solo mintrmino tome el valor 1, para obtener una frmula equivalente de mintrminos, ste no puede ser sustituido. Repitiendo este razonamiento en todos los mintrminos que aparecen en la frmula, vemos que ninguno es sustituible. Tampoco se puede aadir ms mintrminos ya que stos harn que la funcin tome el valor 1 en un caso errneo. Y por ltimo, tampoco se puede eliminar ningn mintrmino ya que para la combinacin que se hara 1, la funcin ya no tendra el valor correcto. Por lo tanto, no se pueden aadir, eliminar o sustituir mintrminos, por lo que la frmula queda inalterable. Teorema 2.16.- (o Primer teorema de expansin) Para una funcin de conmutacin, se cumple que f(x1, x2,, xn) = x1 f(1, x2,, xn) + x1 f(0, x2,, xn) Demostracin.- Usando los postulados y teoremas del lgebra de Boole podemos representar 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 funcin completa puede escribirse como: f(x1, x2,, xn) = f(i) mi(x1, x2,, xn) donde i es el nmero decimal que hace que dicho mintrmino tenga el valor 1. Por ejemplo m0 = x1 x2 xn m1 = x1 x2 xn m2n-1 = x1 x2 xn Es decir, el nmero del mintrmino es igual al nmero decimal que coincide con la combinacin de seales de entrada que le da el valor 1 a dicho mintrmino. Demostracin.- Se aplica sucesivamente el teorema de expansin. Vamos a particularizar a una funcin de tres variables (aunque el desarrollo sera perfectamente vlido para cualquier nmero de entradas). F(x,y,z) = xF(1,y,z) + xF(0,y,z) = x(yF(1,1,z)+yF(1,0,z)) + x(yF(0,1,z)+yF(0,0,z)) = x{y(zF(1,1,1)+zF(1,1,0))+y(zF(1,0,1)+zF(1,0,0))} + x{y(zF(0,1,1)+zF(0,1,0))+y(zF(0,0,1)+zF(0,0,0))} = xyzF(1,1,1)+xyzF(1,1,0)+xyzF(1,0,1)+xyzF(1,0,0) + xyzF(0,1,1)+xyzF(0,1,0)+xyzF(0,0,1)+xyzF(0,0,0) Por lo tanto, en una frmula de mintrminos slo aparecern aquellos que tomen el valor 1 para alguna combinacin de las variables de entrada, ya que el producto por 0 anular dicho mintrmino. Por ejemplo, la tabla 2.6 de combinaciones tendr la siguiente frmula de mintrminos.

TEMA II: LGEBRA DE CONMUTACIN X0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 X1 0 1 0 1 0 1 0 1 X2 0 1 1 1 0 1 0 1 F(X0,X1,X2)

21

F(X0,X1,X2) = m1 + m2 + m3 + m5 + m7 = m(1,2,3,5,7) Tabla 2.6. Ejemplo de una frmula expresada como suma de mintrminos. Por la aplicacin directa del principio de dualidad, se define maxtrmino como el trmino suma en el que aparecen una y una sola vez todas las variables de la funcin, ya sean complementadas o sin complementar; por lo tanto, un maxtrmino es un caso especial de trmino suma. Por ejemplo, X1+X2 es un maxtrmino denominado M1. A la frmula normal conjuntiva escrita mediante maxtrminos se le denomina frmula cannica conjuntiva o frmula de maxtrminos. Se verican los siguientes teoremas: Teorema 2.18.- Dada la lista completa de maxtrminos de n variables, asignando arbitrariamente 1s y 0s a cada variable, se verica que un nico maxtrmino tomar el valor 0. Demostracin.- Para que dos o ms maxtrminos tomasen el valor 0 con una sola combinacin de las variables de entrada, se debe cumplir que dichos maxtrminos no se vean inuidos por alguna variable, que se traduce en la inexistencia de dicha variable en el maxtrmino. Pero dicha armacin, contradice la denicin de maxtrmino en la deben aparecer todas las variables de la funcin. Teorema 2.19.- La frmula compuesta por los 2n maxtrminos ser idnticamente 0. Demostracin.- Del teorema anterior, vemos que una determinada combinacin de 1s y 0s en las variables de entrada, provoca que un maxtrmino tome el valor 0. Por lo tanto si sumamos todos los mintrminos posibles, siempre habr algn maxtrmino que tome el valor 0, que al multiplicarlo con los restantes 1s, dar a la funcin el valor 0. Teorema 2.20.- Cada funcin puede expresarse como suma de maxtrminos. Demostracin.- Cualquier funcin se puede expresar como suma de trminos suma, al evaluar los parntesis de una frmula equivalente. Una vez que tengamos una frmula equivalente a la original escrita como suma de trminos suma, pasamos a incluir en todos los trminos, todas las variables de la funcin. Para ello, haremos uso del elemento identidad y el cuarto postulado (aa=0, en particular), sustituiremos los 1s necesarios de los trminos productos

22

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica por expresiones del tipo (aa) de las variables que no aparecen. De nuevo se evalan los parntesis y obtendremos nalmente la frmula cannica conjuntiva. Si consideramos la frmula disyuntiva F(x,y,z)=(x+y)z, para pasarla a su forma cannica actuamos con la adicin de los trminos F(x,y,z) = (x+y+zz)(xx+yy+z) = = (x+y+z)(x+y+z)(x+y+z)(x+y+z)(x+y+z)(x+y+z)

Teorema 2.21.- La frmula cannica conjuntiva o de maxtrminos es nica. Demostracin.- Para obtener una frmula equivalente de maxtrminos, un maxtrmino no puede ser sustituido, ya que el valor 0 de dicho maxtrmino no puede ser aadido con otro. Repitiendo este razonamiento en todos los maxtrminos que aparecen en la frmula, vemos que ninguno puede ser sustituido. Tampoco se puede aadir ms maxtrminos ya que stos harn que la funcin tome el valor 0 en un caso errneo. Y por ltimo, tampoco se puede eliminar ningn maxtrmino ya que para la combinacin que se hara 0, la funcin ya no tendra el valor correcto. Por lo tanto, no se pueden aadir, eliminar o sustituir maxtrminos, por lo que la frmula queda inalterable. Teorema 2.22.- (o Segundo teorema de expansin) Para una funcin de conmutacin, se cumple que f(x1, x2,, xn) = [x1+ f(0, x2,, xn)] [x1 + f(1, x2,, xn)] Demostracin.- Usando los postulados y teoremas del lgebra de Boole podemos representar 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 funcin completa puede escribirse como: f(x1, x2,, xn) = i [f(i) + Mi(x1, x2,, xn)] donde i es el nmero decimal que hace que dicho maxtrmino tenga el valor 0. Por ejemplo M0 = x1 + x2 + + xn M1 = x1 + x2 + + xn M2n-1 = x1 + x2 + + xn Es decir, el nmero del maxtrmino es igual al nmero decimal que coincide con la combinacin de seales de entrada que le da el valor 0 a dicho maxtrmino. Demostracin.- Se aplica sucesivamente el teorema de expansin.Vamos a particularizar a una funcin de tres variables (aunque el desarrollo sera perfectamente vlido para cualquier nmero 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)) Por lo tanto, en una frmula de maxtrminos slo aparecern aquellos que tomen el valor 0 para alguna combinacin de las variables de entrada, ya que la suma de 1 a los trminos sumas consigue su no inuencia. Por ejemplo, la tabla 2.7 de combinaciones tendr la

TEMA II: LGEBRA DE CONMUTACIN siguiente frmula de maxtrminos. X0 X1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1

23

X2 0 1 1 1 0 1 0 1

F(X0,X1,X2)

F = M0 M4 M6 = M(0,4,6) Tabla 2.7. Ejemplo de frmula expresada como producto de maxtrminos. El modo de transformar una frmula de mintrminos en otra de maxtrminos se basa en la doble complementacin ya que (f) = f. En esta transformacin se verican los siguientes teoremas: Teorema 2.24.- El complemento de una frmula de mintrminos est formado por la suma de los mintrminos que no aparecen en la frmula original. Demostracin.- Como ya hemos visto, en una frmula de mintrminos nicamente aparecen aquellos que pueden tomar un valor de 1, mientras que los que toman siempre el valor 0 no aparecen. No obstante, como la complementacin consiste en intercambiar 1s por 0s, en la frmula complementada tomarn el valor 1 aquellos mintrminos que tomaban el valor 0, mientras que tomarn el valor 0 aquellos que tomaban el valor 1. Por lo tanto, en la frmula complementada aparecern todos los mintrminos que pasan a tomar el valor 1, que son los mismos que en la frmula original tomaban el valor 0 y por tanto no aparecan. Teorema 2.25.- El complemento de una frmula de maxtrminos est formado por el producto de los maxtrminos que no aparecen en la frmula original. Demostracin.- Como ya hemos visto, en una frmula de maxtrminos nicamente aparecen aquellos que pueden tomar un valor de 0, mientras que los que toman siempre el valor 1 no aparecen. No obstante, como la complementacin consiste en intercambiar 1s por 0s, en la frmula complementada tomarn el valor 1 aquellos maxtrminos que tomaban el valor 0, mientras que tomarn el valor 0 aquellos que tomaban el valor 1. Por lo tanto, en la frmula complementada aparecern todos los maxtrminos que pasan a tomar el valor 0, que son los mismos que en la frmula original tomaban el valor 1 y por tanto no aparecan. Teorema 2.26.- Siempre se verica las siguientes igualdades: mi = Mi y Mi = mi. Demostracin.- Por denicin, i es el nmero decimal, codicado en binario con las variables de entrada, que hace que el mintrmino tome el valor de 1 y el maxtrmino tome el valor de 0. Como el mintrmino es el producto de todas las variables (complementadas o sin complementar), todas aquellas que aparezcan sin complementar se sustituirn por 1, mientras que las complementadas se sustituyen por 0. Y como el maxtrmino es la suma de todas las variables (complementadas o sin complementar), todas aquellas que aparezcan sin complementar se sustituirn por 0 y las que estn complementadas se sustituirn por 1. Ahora bien, por las leyes de DeMorgan generalizadas, el complemento de mintrmino ser un maxtrmino (cambiar operacin AND por OR) con las variables invertidas (las que estaban sin

24

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica complementar, ahora aparecern complementadas y viceversa). Por lo tanto, el ndice del mintrmino y del maxtrmino obtenido de su complementacin es el mismo. Y como el complemento del complemento de un elemento es ese mismo elemento, la segunda igualdad tambin queda demostrada.

No obstante, a la hora de implementar las funciones de conmutacin mediante circuitos o puertas lgicas, las expresiones en formas cannicas no derivan en una implementacin ptima, generalmente. Las expresiones ms empleadas para su posterior implementacin son las que siguen una serie de criterios de minimalidad. Los criterios ms comunes son los siguientes: Menor nmero de variables. Menor nmero de trminos (ya que, por lo general, un trmino suele corresponderse con una puerta lgica). Menor valor asociado. Este valor sigue la siguiente frmula: n trminos + n variables n trminos con un solo literal 1 El primer criterio (el nmero de variables) nos va a dar idea del nmero de entradas que debe tener cada puerta lgica del primer nivel, es decir, en el caso de suma (producto) de productos (sumas), nos indicar el nmero de entradas de cada puerta AND (OR). El segundo criterio nos va a dar idea del nmero aproximado de puertas del primer nivel. Por ltimo, el tercer criterio nos va a dar idea del nmero de trminos que no sern implementados con puertas (la gura de trminos con un solo literal, que ser implementada con un solo cable). El paso de una frmula a otra, y en particular a la frmula mnima, se basa en la aplicacin de los postulados y los teoremas correspondientes al lgebra de conmutacin. Hasta ahora hemos visto funciones que se encuentran denidas para todas las combinaciones posibles de variables. No obstante, tambin se pueden dar casos de funciones que no se encuentren denidas para todas las combinaciones de entradas. Esto suele pasar cuando las variables de entrada no son independientes entre s o que no puedan darse todas las combinaciones. A este tipo de funciones se les denomina funciones incompletas o incompletamente especicadas. Una funcin incompleta puede ser la expresada por la tabla 2.8 de combinaciones:. 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 funcin incompleta. En este caso, las combinaciones para las que la funcin no est especicada son 011, 110 y 111. Para estas combinaciones, la funcin puede tomar cualquier valor ya que ste no es signicativo porque no se dar o no inuir. Estas funciones se pueden expresar mediante la unin

TEMA II: LGEBRA DE CONMUTACIN de dos funciones diferentes:

25

Una funcin completa, f, que contempla todas las inespecicaciones como 0 1, segn el tipo de representacin. En el caso anterior sera f = m1 + m2 + m5 = M0M4. Y otra funcin completa, denominada funcin inespecicacin, que contempla todas las combinaciones para las que la funcin no est denida, solindose denominar como la funcin . En el caso anterior sera = m3 + m6 + m7 = M3M6M7. A la hora de crear la frmula que expresa dicha funcin, hay que tener en cuenta dos puntos: La funcin f debe ser completamente implementada. La funcin no tiene porqu ser completamente implementada. sta puede que no sea implementada, que sea implementada slo parcialmente o que est completamente implementada. Las inespecicaciones suelen ser empleadas para ayudar a la minimizacin de las frmulas de conmutacin. Debido a estas inespecicaciones, se cumple que la frmula de mintrminos o de maxtrminos no es nica, ya que pueden existir tantas frmulas como combinaciones de que sus inespecicaciones existan o no. Se dene el complemento de una funcin incompleta como otra funcin incompleta con la misma funcin de inespecicacin y el complemento de los valores denidos. Por ejemplo: X0 X1 X2 F(X0,X1,X2) F(X0,X1,X2) 0 0 0 0 1 1 1 1 0 0 0 1 0 1 1 0 1 0 1 0 1 1 --0 0 0 1 0 1 1 0 1 0 --1 1 --Tabla 2.9. Ejemplo de una funcin incompleta y su complemento.

26

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

5. Aritmtica binaria.
Una vez visto el lgebra de Boole, y en particular el de conmutacin, pasaremos a ver como se haran las operaciones ms bsicas de la aritmtica (suma, resta, multiplicacin y divisin) utilizando el cdigo binario. 5.1. Suma binaria. La suma binaria tiene dos salidas: suma y acarreo. La salida suma es el resultado, mientras que el acarreo es lo que se le aade a la siguiente suboperacin. La tabla de combinaciones para la suma de dos entradas es la tabla 2.10, 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 aritmtica.

Acarreo Sumando A Sumando B Resultado

111111 1 010110.011 011011.110 110010.001

22.375 27.750 50.125

5.2. Resta. La resta binaria tiene dos salidas: resta y desbordamiento. La salida resta es el resultado, mientras que el desbordamiento es lo que se le vuelve a restar a la siguiente suboperacin, como si fuese un nuevo substraendo. La tabla de combinaciones para la suma de dos entradas es la tabla 2.11, que se encuentra junto a un ejemplo: 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 aritmtica.

Sustraendo Desbordamiento Minuendo Resultado

10100.11 10110 0 01011.01 01001.10

20.75 11.25 09.50

TEMA II: LGEBRA DE CONMUTACIN 5.3. -Complemento.

27

Al igual que la resta de los nmeros reales se puede ver como la suma del nmero negativo, en la resta binaria se puede hacer lo mismo. El nmero negativo en binario es el denominado complemento a dos de dicho nmero, representado por 2B. El complemento a dos de un nmero binario se calcula invirtiendo dicho nmero y sumarle 1 a la inversin, como podemos ver en el siguiente ejemplo:
2(1011)

= 0100 + 1 = 0101

+1111 -------------> +1111 -1011 ------------->+0101 +0100 ------------> +0100 Otra forma de obtener el complemento a dos es la siguiente: empezando por la derecha se deja todo igual hasta encontrar el primer 1 (inclusive) y a partir de ah se invierte la parte restante bit a bit. En el caso de que el resultado sea negativo, tanto con la suma con el complemento a dos como en la resta binaria, el nmero que se obtiene es el nmero negativo binario, y por tanto, el complemento a dos del nmero en cuestin. 5.4. Desplazamiento. En el caso que queramos realizar operaciones complejas (multiplicacin y/o divisin) con nmeros de potencia de dos (2, 4, 8, 16, 32), stas resultan muy simples por propia construccin del cdigo binario. La multiplicacin (divisin) por 2n se realiza desplazando el punto decimal n dgitos a la derecha (izquierda). En el caso de que no existan ms dgitos, se rellenarn con ceros. Esta forma se puede demostrar por la expresin polinmica de los nmeros binarios. (bn2n + + b020 + b-12-1 + b-q2-q) x 2j = bn2(n+j) + + b02(0+j) + b-12(-1+j) + + bq2 (-q+j )

100110101.1 x 16= 1001101011000 5.5. Multiplicacin. La multiplicacin de dos nmeros binarios cualesquiera se basa en la tabla 2.12 de combinaciones: A B Producto 0 0 0 0 1 0 1 0 0 1 1 1 Tabla 2.12. Tabla de verdad correspondiente al producto aritmtico.

28

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Despus se realiza la suma de los productos parciales (como en el caso decimal). As, mostramos como ejemplo la multiplicacin de 5.75 x 5 = 28.75. 101.11 x 101 10111 000000 1011100 11100.11 5.75 x5

28.75

5.6. Divisin. La divisin es la operacin ms compleja, realizndose generalmente a travs de una algoritmo. El algoritmo que vamos a emplear ser el siguiente. El divisor se alinear con la parte ms signicativa (ms a la izquierda) del dividendo y se restar. Si el resultado de esta resta es negativo, al cociente se le aade un cero a la derecha y el divisor se desplaza un dgito a la derecha y volvemos a restar. Si el resultado es positivo, al cociente se le aade un 1 a la derecha y al resultado de la resta se le aade el dgito inmediatamente siguiente de la derecha del dividendo, y se vuelve a empezar. A continuacin, vemos en la gura 2.2, y a modo de ejemplo, la divisin correspondiente a 45/5: 101101 101 101 000101 1001 101 000 Figura 2.2.- Ejemplo de la divisin binaria.

TEMA II: LGEBRA DE CONMUTACIN

29

6. Apndice: Funciones Complejas.


Hasta ahora hemos visto funciones de forma general. No obstante, existen funciones con unas determinadas propiedades especiales que suelen darle el nombre. 6.1. Funciones simtricas. Una funcin se denomina totalmente simtrica cuando permanece inalterable ante cualquier permutacin de sus variables. En estos casos, lo que realmente da el comportamiento de la funcin no son las variables individuales, sino su conjunto. En el caso de que la simetra se d para algunas variables complementadas, se dice que la funcin es simtrica mixta. Pero en ambos casos se dice que la funcin es simtrica. La forma de representar estas funciones es mediante la letra S, seguida (mediante subndices) del nmero de 1's para los que la funcin toma el valor 1. En la tabla 2.13 mostramos un ejemplo: X0 X1 X2 F(X0,X1,X2) n de 1s 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 2 1 0 0 1 1 0 1 2 1 1 0 2 1 1 1 3 F(X0,X1,X2) = S0,1,3(X0,X1,X2) 1 1 1 0 1 0 0 1

Tabla 2.13. Ejemplo de una funcin simtrica. No obstante, cuando la funcin no es simtrica para todas sus variables sino para un conjunto de ellas, se dice que la funcin es parcialmente simtrica. La ventaja de estas funciones es la fcil implementacin mediante conmutadores. 6.2. Funciones frontales y backales. Cuando se puede encontrar una frmula en suma de productos en la que una variable, xi, slo aparece sin complementar (o complementada), se dice que dicha funcin es positiva (o negativa) para la variable xi. En cambio, si en todas las frmulas aparece tanto la variable sin complementar como la complementada, se dice que la funcin es mixta en xi. Mientras que si existe una frmula en la que no aparece la variable xi, se dice que la funcin es vacua en xi. Extendiendo estas definiciones al conjunto completo de

30

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica variables de la funcin, se dice que una funcin es frontal (backal) si es positiva (negativa) en todas sus variables.

La ventaja de las funciones frontales (backales) es que si disponemos del valor sin complementar (complementado) de las variables de entrada, no nos harn falta inversores a las entradas, simplicando de este modo la implementacin del circuito lgico. 6.3. Funciones umbrales. Una funcin umbral se define como aquella que se puede definir mediante desigualdades a modo de pesos, por ejemplo f(x1, x2,, xn) = 1 si n xi wi >T donde wi representa el vector peso y T el umbral. La representacin grca de estas funciones (gura 2.3) se realiza mediante una caja en la que cada entrada est acompaada del peso asociado, mientras que en la esquina superior derecha se le indica el umbral a partir del cual el valor de la funcin ser 1. T

W1 W2

Wn

Figura 2.3.- Smbolo de una funcin umbral. La ventaja de estas funciones radica en una fcil implementacin fsica.

TEMA III.- ANLISIS DE CIRCUITOS COMBINACIONALES


En el presente tema, vamos a presentar los mecanismos y procedimientos para poder obtener el comportamiento, tanto lgico como temporal (en un grado no excesivamente preciso), de un circuito combinacional.

1. Introduccin.
Dentro de la Electrnica, existen dos problemas bsicos: anlisis y diseo de circuitos. Luego antes de abordar dichos problemas, vamos a darles una posible denicin. El problema de anlisis (que trataremos con respecto a los circuitos combinacionales en este tema) se puede argumentar de la siguiente forma: Dado un circuito electrnico, determina el comportamiento y la funcionalidad que presenta dicho circuito. En cambio, el problema del diseo (que veremos en el tema IV y siguientes con respecto a los circuitos combinacionales) es el siguiente: Dados un comportamiento y una funcionalidad, determina el circuito electrnico que los presenta. Es decir, un problema es el inverso del otro. Estos dos problemas se pueden afrontar desde tres formas diferentes: Mediante tcnicas algebraicas, generalmente clculos a mano. Este hecho conlleva una limitacin a bloques o circuitos pequeos. Mediante simulacin hardware o emulacin. Este mtodo se basa en la construccin de un modelo fsico, siendo este ltimo el que es estudiado. Por ejemplo, montando un circuito en una placa de entrenamiento. Mediante simulacin. Nos ayudamos de las herramientas de diseo asistido por ordenador (C.A.D.), en la que emulamos el circuito. Estas herramientas se pueden clasicar en herramientas de simulacin (para obtener el comportamiento de un circuito) y de sntexis (para obtener un circuito a partir de un comportamiento). De las tres formas, la ms empleada es la simulacin por ser la que mayor potencia de clculo presenta y por lo tanto la que mayores sistemas puede abarcar.

32

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

2. Puertas Lgicas.
Una de las principales ventajas de utilizar el lgebra de conmutacin radica en que las operaciones bsicas de este lgebra (operacin AND, OR y NOT) tienen un equivalente directo en trminos de circuitos. Estos circuitos equivalentes a estas operaciones reciben el nombre de puertas lgicas. No obstante, el resto de circuitos lgicos bsicos tambin reciben el nombre de puertas, aunque su equivalencia se produce hacia una composicin de las operaciones lgicas bsicas. Las tres puertas fundamentales reciben el mismo nombre que los operadores, es decir, existen las puertas AND, puertas OR y puertas NOT. La ltima puerta recibe el nombre ms usual de inversor. En la gura 3.1 mostramos los smbolos de estas puertas tanto tradicionales como internacionales, aunque usaremos preferentemente los smbolos tradicionales.
Puerta AND A Smbolos tradicionales B Q F A B Q F A F Puerta OR Puerta NOT o inversor

A Smbolos internacionales Q F = AB...Q B & F

A B Q F = A+B+...+Q F = A = A 1 F A 1 F

Figura 3.1.- Simbologa tradicional e internacional correspondiente a las puertas lgicas bsicas. En primer lugar debemos identicar aquellos conjuntos de puertas con los que se puede implementar cualquier funcin lgica. As Un conjunto de puertas completo es aquel conjunto con el que se puede implementar cualquier funcin lgica El conjunto completo ms intuitivo es aquel formado por todas las operaciones bsicas del lgebra de conmutacin, es decir, el conjunto formado por puertas AND, OR e inversores. El siguiente paso consiste en identicar cuando un conjunto de puertas es completo. Si nos guiamos por la denicin, podramos pensar que si empezamos a implementar funciones arbitrarias, podramos determinar si el conjunto de puertas es completo. No obstante, este mtodo no sera muy prctico ya que siempre existira la duda de si alguna funcin que no

TEMA III.- ANLISIS DE CIRCUITOS COMBINACIONALES

33

hubisemos implementado, no podra implementarse con dicho conjunto. Por lo tanto, tenemos que buscar otro mtodo que no deje lugar a dudas. Este mtodo podra consistir en obtener las puertas de un conjunto completo ya conocido, por ejemplo, las tres puertas bsicas. Si esta transformacin es factible, podemos garantizar que el nuevo conjunto es completo. De hecho, para implementar una funcin en el nuevo conjunto, podramos ir transformando puerta a puerta (aunque esta solucin no sera ptima). Por ejemplo, probaremos con el conjunto formado con las puertas AND y los inversores (gura 3.2):
A F = AB B A A F = (AB) = A + B B Puerta OR F=A Inversor Puerta AND

Figura 3.2.- Conjunto completo formado por puertas AND e inversores. Luego, el conjunto formado por las puertas AND e inversores forman un conjunto completo. De idntica forma se puede probar que el conjunto formado por las puertas OR y los inversores forman un conjunto completo. Debido a esta propiedad (que las puertas AND e inversores, al igual que las puertas OR e inversores, forman un conjunto completo), cobra especial importancia la unin de una puerta AND (u OR) con un inversor, dando lugar a puertas especcas llamadas puertas NAND (AND-NOT) y NOR (OR-NOT), cuyos smbolos se muestran en la gura 3.3.
Puerta NAND Smbolos tradicionales A B Q F A B Q Puerta NOR F

Smbolos internacionales

A B Q

&

A B Q

F = AB...Q

F = A+B+...+Q

Figura 3.3.- Simbologa tradicional e internacional de las puertas NAND y NOR. Se puede probar que tanto las puertas NAND como las puertas NOR forman un conjunto completo, como vemos en la gura 3.4:

34

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

A A

F B A A B (a) B F

A B

(b)

Figura 3.4.- Conjuntos completos formados por puertas (a) NAND y (b) NOR.

Dentro de las denominadas puertas, que no implementan un operador directo, se encuentra la conocida como OR-exclusiva o XOR. Esta puerta muestra la siguiente funcionalidad: Y = A'B + AB'. La importancia radica en su amplio uso en la aritmtica binaria (siendo la puerta base de la suma). Tambin es muy usada en las circuiteras de deteccin y correccin de errores, implementando funciones de comparacin y paridad. Su smbolo y tabla de combinaciones se muestra en la gura 3.5.
A B F=AB

A 0 0 0 1 0 1

B 0 1 1 0

=1

1 1

Figura 3.5.- Smbolo y tabla de verdad de la funcin XOR (exclusiva OR). Adems de tener las propiedades conmutativas y asociativas, algunas igualdades tiles son las siguientes: (x y)' = x' y = x y' (x y) = (xy+xy) = (xy)(xy) = (x+y)(x+y) = xy + xy x y = xy + xy x y = xy + xy xx=0 x x = xx + xx = 0 + 0 = 0 x x' = 1 x x = xx + xx = x + x = 1

TEMA III.- ANLISIS DE CIRCUITOS COMBINACIONALES x 1 = x' x 1 = x0 + x1 = 0 +x = x x0=x x 0 = x1 + x0 = x + 0 = x x(y z) = (xy) (xz) x(y z) = x(yz + yz) = xyz + xyz (xy) (xz) = (xy)(x+z) + (x+y)(xz) = xyz + xyz x (xy') = x +y x (xy) = x(x+y) + x(xy) = xy x (x+y) = x'y x (x+y) = x(xy) + x(x+y) = xy

35

Como podemos ver, la negacin se obtiene con una puerta XOR y el valor lgico 1; no obstante, no podemos conseguir ninguna puerta AND u OR a partir exclusivamente de una puerta XOR, ya que para obtener una de las operaciones bsicas debemos ayudarnos de la otra. Luego, la puerta XOR no forma un conjunto completo, pero si le aadimos una puerta AND o una puerta OR, s se convierten en un conjunto completo. Una nota importante en todos los smbolos es que la presencia de un crculo indica una inversin, como podemos ver en la gura 3.6:

A F = (A B) B
Figura 3.6.- Utilizacin de los crculos como smbolo de negacin.

3. Anlisis.
El comportamiento de los circuitos combinacionales slo depende de las seales de entrada en un instante determinado, y no de la secuencia de entradas, es decir, de la historia del circuito. Este hecho no quiere decir que el comportamiento temporal no sea importante, de hecho una de las principales caractersticas de los circuitos que se tienen en cuenta es la velocidad de operacin o el retraso de propagacin. En funcin de este retraso, podemos encontrar dos zonas temporales de operacin bien diferenciadas: estado estacionario y estado transitorio. Una posible denicin de estos estados sera la siguiente: El estado transitorio es aquel espacio temporal que va desde el cambio de las entradas hasta que la salida se estabilice. En este estado, tanto las seales internas como las de salida pueden sufrir cambios (no necesariamente uno solo, sino que pueden ser varios), aunque las seales de entrada no cambien. Estos posibles cambios son los necesarios para que el circuito busque su estabilizacin.

36

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica El estado estacionario es aquel espacio temporal que va desde la estabilizacin del circuito lgico hasta que las entradas vuelvan a cambiar.

En este estado, ninguna de las seales del circuito puede sufrir ningn cambio, a no ser que sean las seales de entrada. Esta diferencia se puede apreciar en la gura 3.7. Es decir, en el estado transitorio se producen todos los cambios necesarios en las seales de salida (e internas) hasta conseguir la estabilizacin del circuito. En cambio, en el estado estacionario, las seales de salida (e internas) estn estables a su valor correcto. Por lo tanto, el comportamiento lgico hay que observarlo en el estado estacionario, en el cual no se producir ningn cambio adicional debido al cambio actual de las seales de entrada.

Seales de entrada

Seales de salida y/o internas

Estado transitorio

Estado estacionario

Figura 3.7.- Separacin entre estados transitorios y estacionarios.

3.1. Anlisis estacionario. Una vez planteado en la zona temporal donde nos encontramos, el estado estacionario, vamos a afrontar el anlisis estacionario de un circuito combinacional. En este estado, las seales del circuito no cambian, luego lo signicativo de este estado es su valor. Una forma simple de analizar un circuito en su estado estacionario consiste en etiquetar todos los nodos del circuito con la funcin lgica que realizan. Por lo tanto, la frmula de conmutacin coincidir con la etiqueta del nodo de salida, sustituyendo las seales internas por sus funciones de las variables de entrada. En la gura 3.8 mostramos un ejemplo de anlisis estacionario. Por lo tanto, una vez que tenemos etiquetado la(s) seal(es) de salida, tenemos que recorrer el circuito en orden inverso para determnar las frmulas de cada una de las seales internas. Una vez que tenemos la frmula con la que hemos implementado la funcin, se puede representar mediante su tabla de combinaciones, mostrada en la tabla 3.1. Como ya comentamos, la tabla de verdad debe tener como mnimo todas las seales de entrada y salida. No obstante, puede ser interesante incluir las seales internas para una obtencin ms segura. Este

TEMA III.- ANLISIS DE CIRCUITOS COMBINACIONALES


A N1 = AB B F = N1 + N4 F = AB + cN3 F = AB + c(A+B) N2 = C C N4 = N2N3 A B N3 = A+B

37

Figura 3.8.- Ejemplo de anlisis estacionario de un circuito lgico. hecho suele cobrar ms sentido cuando el circuito que tenemos que analizar sea ms complejo, tanto en dimensiones como en complejidad de los componentes. A B C N1 N2 N3 N4 F 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 1 1 1 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1

Tabla 3.1. Tabla de verdad del ejemplo de la gura 3.8. Algunas recomendaciones simples para una mayor facilidad de obtener los valores de una frmula lgica pueden ser las siguientes: Si la frmula es una suma de trminos, el valor ser igual a 1 siempre y cuando algunos de los trminos sea 1. Luego, nos centramos trmino a trmino para ver si su valor es 1. En todos los casos en que ningn trmino sea 1, el valor es 0. Si la frmula es una producto de trminos, el valor ser igual a 0 siempre y cuando algunos de los trminos sea 0. Luego, nos centramos trmino a trmino para ver si su valor es 0. En todos los casos en que ningn trmino sea 0, el valor es 1. Si la frmula es una mezcla de sumas y productos, se aplican las recomendaciones anteriores segn corresponda 3.2. Anlisis transitorio. El estado transitorio, como ya hemos visto, tiene unos lmites temporales y la posibilidad de cambiar un nmero aleatorio de veces las seales del circuito. Por lo tanto, lo importante de este estado ser conocer ese lmite temporal, y las transiciones no necesarias que se producirn.

38

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

3.2.1. Caminos crticos El primer dilema con el que nos encontramos es discenir cuando acaba el estado transitorio y empieza el estado estacionario. Esta frontera se podra encontrar obteniendo el retraso de propagacin del circuito (duracin del estado transitorio). Este retraso ser igual a la suma de los retrasos de las puertas por las que se transmiten los datos. En el ejemplo anterior podemos distinguir tres caminos diferentes por simple inspeccin: AND - OR --> T = TAND + TOR INV - AND - OR --> T = TINV + TAND + TOR NOR - AND - OR --> T = TNOR + TAND + TOR Ahora nos encontramos ante el problema de qu camino deberamos escoger. No obstante, no podemos perder de vista que lo realmente imortante es el tiempo que transcurre desde que entra la seal hasta que llega a la salida. Luego, puede que existan caminos equivalentes (en el sentido de que tengan el mismo retraso). De estos caminos debemos elegir los ms lentos, con el n de garantizar que cualquier combinacin de entrada habr llegado a la salida transcurrido dicho tiempo. Cada combinacin de entradas llegar al nodo de salida por uno o varios de esos caminos (siempre el ms rpido cortando el ms lento). Igual que una combinacin puede llegar a la salida por varios caminos, se puede dar el caso de que un camino se encuentre permanentemente cortado, es decir, siempre exista otro con menor retraso. Por lo tanto, tenemos que garantizar que el camino, que hayamos elegido como crtico, se siga por alguna combinacin. Las situaciones ms usuales en las que un camino se corta son las siguietnes: F 0, ya que la salida no depende del camino elegido, sino que siempre valdr 0 F + 1, por la misma razn anterior. Veamos qu combinaciones sigue cada camino del circuito de la gura 3.8: En el caso del primer camino, la operacin c(A+B)no debe inuir en la operacin OR. Por lo tanto, sta debe valer 0 para que x + 0= x. Luego las combinaciones que siguen este camino son: ABC = 001 - 011 - 101 - 111 - 010 - 100 - 110 En el caso del segundo camino, la operacin c(A+B) s debe inuir en la operacin OR, por lo que en este caso AB debe valer 0 para que 0 + x = x. Adems, la operacin NOR no debe inuir en la operacin AND, por lo que A+B debe valer 1 para que 1 x = x. Luego las combinaciones que siguen este camino son: ABC = 000 - 001 La descripcin del tercer camino ser semejante a la del segundo intercambiando los papeles del inversor y la puerta NOR. Luego las combinaciones sern: ABC = 000 - 010 - 100 Como podemos ver, tenemos combinaciones que verican ms de un camino como puede ser la combinacin 000 (entre otras). Cuando estamos en estas situaciones, el retraso de dicha combinacin ser el menor retraso (ya que en ese momento, la seal ha llegado a la salida).

TEMA III.- ANLISIS DE CIRCUITOS COMBINACIONALES

39

Por lo general, los estados transitorios y estacionarios no estn referenciados a cada combinacin de las seales de entrada, sino al circuito en s mismo. Luego, la duracin del estado transitorio se toma como la ms larga, asegurando as que en el estado estacionario las seales de salida estarn estabilizadas. El camino crtico se define como aquel camino que produce el mayor retraso para alcanzar la estabilizacin de las seales del circuito. Luego lo realmente interesante es obtener el camino crtico. Para ello deberamos conocer el retraso de cada puerta. En el caso de no conocerse se toma por convencin el mismo retraso para todas las puertas, luego, ser aquel por el que pase ms puertas. En nuestro ejemplo tendramos como caminos crticos los dos ltimos (con un retraso de tres puertas). Pero antes de asignar este camino, debemos garantizar que este camino es seguido por alguna combinacin. 3.2.2. Azares El segundo aspecto del anlisis transitorio consiste en deducir las transiciones que tendrn lugar en dicho estado. Sera lgico pensar que para cada cambio de las seales de entrada, debera existir como mximo un cambio en cada seal de salida (si tuviese que cambiar su valor lgico) o ninguno (si no tuviese que cambiar dicho valor). No obstante esto no se produce en la mayora de los casos reales. El principal error consiste en suponer que se pueden producir cambios simultneos de las diferentes seales del circuito. Como podemos apreciar en la gura 3.9, las seales no llegan de forma simultnea a todas las partes del circuito debido a los diferentes retrasos de cada puerta utilizada. Podemos apreciar que las seales de entrada al circuito han cambiado simultneamente, pero a la puerta C no llegan los cambios de forma simultnea, sino que el cambio de X1 llega antes. Luego la puerta C realizar dos operaciones en lugar de una, como era de esperar.
X1 X11 TA TC X2 X2 TB X21 TB X21 X1 TA X11

Figura 3.9.- Imposibilidad de tener transiciones simultneas en ms de una seal digital.

Estos retrasos no son controlados ya que adems de la funcin lgica, dependen de otros muchos factores, tanto internos (dispositivos parsitos) como externos (temperatura). Adems, la insercin de las seales de entrada (ya sea por un operador hmano, mecnico o electrnico) no garantiza que se puedan producir cambios simultneos de seales, sino todo lo contrario (debido a la no idealidad de los operadores).

40

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Por lo tanto, estas transiciones no consideradas son de gran importancia, ya que nos pueden conducir a situaciones errneas, y no necesariamente de forma transitoria. Si dicho circuito se comporta como entrada de otro, puede que una situacin anmala produzca que la situacin inicial no sea la correcta, obteniendo un comportamiento diferente al deseado. Adems, cuanto ms transiciones sean necesarias para la estabilizacin del circuito, quiere decir que el circuito consumir ms potencia (la energa necesaria para llevar a cabo su operacin por unidad de tiempo); este parmetro cobra cada vez ms importancia con el auge de los sistemas sin cable. Por lo tanto, se denomina azar a cualquier desviacin del comportamiento esperado, potencial o real, de un circuito de conmutacin cuando sufre un cambio en sus entradas. Las desviaciones potenciales, no reales, se siguen considerando azares debido a que el comportamiento de un circuito (y en mayor grado, su rgimen transitorio) puede depender de las condiciones de operacin en la que se encuentre el circuito, como son la temperatura de operacin, la vida de los dispositivos, etc. A una determinada temperatura, no se observa la presencia del azar, pero si se altera dicha temperatura, los retrasos de las puertas pueden variar, ocasionando la presencia del azar. Supongamos que queremos pasar de la combinacin 000 a la 110 en la funcin con las tablas de combinaciones de la gura 3.10. Como hemos visto antes, no podemos cambiar ms de una seal de forma simultnea; luego primero debemos cambiar una seal de entrada y luego la otra. Si tenemos en cuenta este razonamiento, la salida pasar por un valor 0 sin que nosotros esperemos este nivel. Por lo tanto, este pulso, mostrado en la gura 3.10, ser considerado un azar, por la razn de que no es esperado.
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 1 0 0 0 1 0 1 1 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 1 0 0 0 1 0 1 1

A B C F

Figura 3.10.- Ejemplo de azar de funcin.

TEMA III.- ANLISIS DE CIRCUITOS COMBINACIONALES

41

Una vez que hemos detectado la presencia de azares, la cual va a reducir las prestaciones del diseo, tenemos que obtener las causas de estos azares. Como ya hemos dicho la causa principal de los azares es la imposibilidad de tener cambios simultneos de ms de una seal. As, una primera causa son los cambios simultneos de las seales de entrada, que debido a la funcin lgica implementada provocar un azar. Los azares provocados por la funcin lgica en s misma se denominan azares de funcin. Un ejemplo de azar de funcin es el mostrado en el ejemplo anterior. En ese ejemplo, el azar era debido a que para llegar a la combinacin nal se deba pasar por otras combinaciones en las que la salida tomaba un valor diferente. Una forma sencilla de evitar los azares de funcin ser imponer la restriccin de no permitir cambios simultneos de seales de entrada. Con esta medida, la transicin desde 000 a 110 no sera permitida y tendramos que elegir alguno de los dos caminos anteriores. El comportamiento sera el mismo pero con la salvedad de que, en caso de elegir el primer camino (donde se obtiene la presencia del azar), el pulso de bajada es esperado y ya no sera considerado azar. Hasta ahora slo hemos tratado las seales de entrada, no obstante, en un circuito existen tres tipos de seales: entrada, salida e internas. La imposibilidad de cambiar simultneamente ms de una seal interna producir un comportamiento similar, aunque solamente se haya cambiado una seal de entrada. La funcin anterior puede tener la implementacin mostrada en la gura 3.11. Vamos a estudiar la transicin 011 a 001. En esta transicin slo cambia la seal B, por lo que no existirn azares de funcin. No obstante, podemos apreciar que se tiene que producir una transicin simultnea de las seales N2 y N3. Como esto no es posible, se producir un azar en la seal N4 que se transmitir a la salida. Si estudiamos la transicin 111 a 101, podemos apreciar que no existirn azares de funcin, ya que al igual que antes slo se produce el cambio de una sola seal de entrada. No obstante se deberan producir una transicin simultnea en las seales N2, N3 y N5. Como esto no es posible, se producir un azar en la seal N4 (debido a la transicin de N2 y N3) que se unir a otro en la salida (debido al azar de N4 y a N5). Estos ltimos azares no son debidos a la funcin lgica, sino al circuito lgico que implementa la funcin lgica. Los azares provocados por la implementacin lgica del circuito se denominan azares lgicos. En este caso se aprecia ms claro que la no simultaneidad de las transiciones se debe a los retrasos de las puertas utilizadas y a su interconexin. En el ejemplo anterior, hemos observado dos comportamientos diferentes. La diferencia radica en que la seal de salida, al alcanzar el estado estacionario, deba cambiar de valor o no. Esta diferencia nos da otra clasicacin de azares: Azares estticos.- donde la seal de salida en la que se produce el azar no debera cambiar su estado. Este tipo de azares se debe a que dos seales que deberan ser com-

42

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

A B B B C N1 = 0 N2 = 1 N3 = 0 N4 = 0 N5 = 0 F = 0 N1 N1 = 0 N2 = 0 N3 = 1 N4 = 0 N5 = 0 F = 0 N3

N5 F

N2

N4

A = 0 B = 1 C = 1

A = 0 B = 0 C = 1

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

A B C N1 TOR N2 N3 N4 N5 TOR F TOR TOR TOR TAND TOR Tinv TAND TAND Tinv TAND TAND TOR

Figura 3.11.- Ejemplo de azares lgicos. plementarias entre s, no lo son en un determinado intervalo temporal dentro del estado transitorio. En nuestro caso seran N2, que debera valer B, y N3, que debera valer B; pero debido a los retrasos de las puertas se observa que en el transitorio B = B, que ser imposible en el estado estacionario. Azares dinmicos.- donde la seal de salida en la que se produce el azar s debe cambiar de estado. Este tipo de azares se puede ver como un azar esttico al que se le ha aadido la transicin de una seal. En nuestro caso sera el azar esttico producido por las seales N2 y N3, al que se le ha aadido la transicin de la seal B a travs de N5. Esta clasicacin es vlida tanto para azares de funcin como para azares lgicos. Como hemos visto que la forma de eliminar los azares de funcin consiste en prohibir cambios en varias seales de forma simultnea, de ahora en adelante nos referiremos a azares lgicos permitiendo nicamente cambios en un sola seal de entrada.

TEMA III.- ANLISIS DE CIRCUITOS COMBINACIONALES

43

Antes de seguir con los azares lgicos, vamos a ver una nueva forma tabular de representar funciones de conmutacin, denominada mapa de Karnaugh. Este mapa es una tabla donde las columnas y las son las posibles combinaciones que pueden tomar las diferentes seales de entrada, encontrndose en el interior de cada celda el valor de la funcin para la combinacin en cuestin. La peculiaridad de esta tabla es que las combinaciones de seales de entrada de cada celda adyacente deben tener una distancia de uno (solamente una seal puede tener un valor diferente). Con esta situacin se consigue que el camino seguido por un cambio de seales de entrada debe seguir a travs de celdas adyacentes, comprobando fcilmente la presencia de azares de funcin y lgicos (como ya veremos). En la gura 3.12 se mostrarn los mapas de Karnaugh correspondientes a funciones hipotticas de 2, 3 y 4 variables:
0 0 1 00 01 11 10 00 01 11 10 1 0 1 00 01 11 10

Figura 3.12.- Ejemplos de mapas de Karnaugh.

Un ejemplo de la utilidad de los mapas de karnaugh consiste en la identicacin de los azares de funcin, como podemos ver en la gura 3.13. Los caminos que han sido expuestos no son los nicos que se pueden dar. En el caso del azar esttico podemos comprobar que existen dos caminos diferentes para llevar a cabo la transicin. En cambio, en el caso del azar dinmico, podemos comprobar que existen seis caminos diferentes para obtener dicha transicin. No obstante, con la simple condicin de que se obtenga un azar para alguna de las combinaciones, ya se dir que existe el azar debido a la caracterstica de potencial.
Azar esttico 00 0 1 0 1 01 1 0 11 0 1 10 0 1 000 0 001 1 011 0

Azar dinmico 00 0 1 0 1 01 1 0 11 0 1 10 0 1 000 0 010 1 011 0 111 1

Figura 3.13.- Ejemplos de azares estticos y dinmicos de funcin.

44

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Una vez que hemos denido lo que se entiende por azar y cul es su comportamiento, el siguiente paso ser determinar si en un circuito en particular se da su presencia. Una forma de llevar a cabo esta tarea podra ser estudiar cada transicin de combincaciones de entrada de la misma forma que en la gura 3.11. No obstante, este mtodo sera inviable debido al crecimiento exponencial de transiciones con el nmero de seales de entrada. Otra forma ms viable ser la siguiente. El principal motivo de la existencia de azares lgicos estticos consiste en la aparicin de variables complementadas y sin complementar (que deberan tener siempre valores opuestos) con el mismo valor de forma transitoria debido generalmente al retraso de las puertas lgicas. Por lo tanto, a la hora de analizar algn circuito en rgimen transitorio (y observar la posible presencia de azares) no podemos hacer uso del 4 postulado del lgebra de Boole ni de los teoremas basados en l. Por lo tanto, un mtodo para detectar la presencia de azares estticos, se basa en el siguiente procedimiento: A partir de la frmula original, si existe alguna combinacin de las seales de entrada que la transforme en alguna de las formas del 4 postulado, se puede demostrar que para dicha transicin existe un azar esttico. Si reducimos la frmula a una de las expresiones del cuarto postulado, en la transicin de la variable que nos queda cambiarn de valor los dos trminos, y a valores diferentes. sta, como recordamos, es la condicin de azar: un cambio simultneo de varias seales (dos seales internas en este caso). No obstante, haciendo uso de los mapa de karnaugh, existe un mtodo simple para determinar la presencia de azares estticos, el cual sigue el procedimiento expuesto a continuacin: En el caso de los azares de 1, se obtiene la suma de productos de la funcin (sin aplicar el cuarto postulado, ni los teoremas asociados) y se rodean los 1's que son generados por cada trmino producto. Si existen 1's adyacentes que no son generados por el mismo trmino 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 trminos producto por trminos suma, suma de productos por producto de sumas y 1's por 0's. Tambin se puede operar de la misma forma que antes, pero teniendo en cuenta ahora la funcin complementada (ya que un azar de 0 se convierte en un azar de 1 en la frmula complementada). En este caso, existen dos trminos suma o producto que deben cambiar de valor de forma simultnea. Es decir, tendremos una condicin de azar en dicha transicin. En el caso de azares lgicos dinmicos, no debemos perder de vista que se trata de un azar esttico al que se le ha aadido una transicin. La forma de aadir esa transicin puede set a travs de un producto o una suma lgica. Por lo tanto, las ecuaciones a las que se llegara sern las siguientes: F = x + xx

TEMA III.- ANLISIS DE CIRCUITOS COMBINACIONALES F = x(x+x)

45

Las otras dos condiciones [ xxx y x+x+x ] no seran azares ya que se trataran de la misma transicin en instantes diferentes, es decir, la ms lenta no se producira. En este caso se aade que dos seales que deberan tener el mismo valor presentan valores diferentes. Luego, en la manipulacin de la frmula lgica no seran aplicables los teoremas de idempotencia, absrocin, ni los derivados de ellos.

4. Ejemplo de aplicacin.
A continuacin veremos como ejemplo el anlisis, tanto estacionario como transitorio (con respecto a azares lgicos estticos y al camino crtico), del circuito mostrado en la gura 3.14:
A B B N3 N2 N1 N4 N5 F

B C

Figura 3.14.- Ejemplo de anlisis estacionario y transitorio.

4.1. Anlisis estacionario La meta del anlisis estacionario es obtener la funcin del circuito que se desea analizar. Este objetivo e consiguir obteniendo la frmula lgica y/o la tabla de verdad del circuito. La frmula obtenida del circuito es: N1 = c N2 = b+N1 = b + c N3 = b N4 = N3 N2 N5 = ab F(a,b,c) = N5 + N4 = ab + b(b+c) A continuacin, para acabar el anlisis estacionario, mostramos la tabla de verdad en la tabla 3.2. Una forma rpida de obtener la tabla consiste en pasar la frmula a suma de productos (producto de sumas); una vez expresada de esta forma, determinar las combinaciones para las que cada trmino producto (suma) toma el valor 1 (0); el resto de combinaciones tomar el valor 0 (1).

46 A 0 0 0 0 1 1 1 1

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 1 0 0 0 1 0 1 1 Trminos con valor 1 bc ---bc -ab ab

Tabla 3.2. Tabla de verdad del circuito de la gura 3.14. 4.2. Anlisis transitorio Una vez que hemos obtenido la funcin implementada por el circuito, pasaremos a realizar el anlisis transitorio. Este anlisis llevar la determinacin del camino crtico as como de los azares lgicos. En este tipo de problemas no hay que estudiar los azares de funcin, ya que stos son inherentes a la funcin lgica, y no al circuito que es lo que se est estuadiando. 4.2.1. Camino crtico Para empezar el anlisis transitorio, vamos a hallar y cuanticar el camino crtico. Como no nos dan los retrasos de las puertas, supondremos que todas tienen el mismo retraso, por lo que el camino crtico ser aquel que atraviese ms puertas. Este camino ser el siguiente: INVOR-AND-OR. Una vez hallado el camino con mayor retraso, debemos garantizar que alguna combinacin de entrada siga dicho camino: Para que la ltima puerta OR espere a la puerta AND, se debe cumplir que N5 = ab = 0, luego a y/o b debe valer 0. Para que la puerta AND espere a la puerta OR, se tiene que cumplir que N3 = b = 1, luego b debe valer 0. Para que la puerta OR espere al inversor, se debe cumplir que b = 0, luego b debe valer 0. Por lo tanto, las combinaciones que siguen el camino crtico sern aquellas que cumplan las condiciones anteriores. stas se muestran en la tabla 3.3: A B C 0 0 1 1 0 0 0 0 0 1 0 1

Tabla 3.3. Combinaciones de seales de entrada que siguen el camino crtico.

TEMA III.- ANLISIS DE CIRCUITOS COMBINACIONALES 4.2.2. Azares lgicos estticos

47

El siguiente paso del anlisis ser determinar la presencia de azares (por ahora estticos). Para utilizar el mtodo del mapa, partiremos de la funcin estacionaria, la cual pasaremos a suma de productos (sin utilizar el 4 postulado ni sus teoremas asociados) para determinar la presencia de azares estticos de 1. F = ab + b(b+c) = ab + bb + bc El mapa de karnaugh se muestra en la gura 3.15. El trmino bb no tiene ningn 1 ya que su valor estacionario es 0. En el mapa podemos apreciar que existen dos 1s adyacentes que no son agrupados por el mismo trmino, luego existir un azar para dicha combinacin. Esta combinacin es A=1, B= b, C = 0, por lo que el azar se produce para la transicin en la seal B.
F C 0 1 AB 00 1 0 01 0 0 AB 11 1 1 10 1 0 BC

Figura 3.15.- Obtencin de azares lgicos estticos de 1, utilizando el mapa de karnaugh. Para estudiar la presencia de azares de 0, pasaremos la funcin a producto de sumas, para lo cual complementaremos dos veces la expresin en suma de productos (de nuevo sin utilizar el 4 postulado ni sus teoremas asociados). F = (a+b)(b+b)(b+c) = (ab + b)(b+c) = ab + bb + bc F = (a+b)(b+b)(b+c) En este caso, el mapa de karnaugh ser el mostrado en la gura 3.16. De nuevo, podemos apreciar que existen dos 0s adyacentes sin que sean englobados por el mismo trmino suma. Por lo tanto, existir un azar para la combinacin A=0, B=b, C=1.
F C 0 1 AB 00 1 0 01 0 0 11 1 1 10 1 0 B+C

A+B

Figura 3.16.- Obtencin de azares lgicos estticos de 0, utilizando el mapa de Karnaugh.

48

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Un mtodo para eliminar los azares estticos consiste en evitar situaciones como las descritas anteriormente, es decir, que no existan 1's (0's) adyacentes sin que sean cubiertos por alguna puerta. Por lo tanto, aadiremos trminos producto (para los azares de 1) y trminos suma (para los azares de 0) que engloben los 1s y 0s adyacentes que no sean englobados para un mismo trmino producto y suma. Debemos notar que una expresin en trminos suma (producto) no contar con la presencia de azares de 1 (0). Si se lleva a cabo este mismo estudio por mtodos algebraicos, llegaremos a la misma conclusin. La frmula de partida es: F = ab + b(b+c). La condicin de que pueda existir azar esttico es que una misma seal aparezca, negada y sin negar; luego en el caso que nos ocupa slo puede existir para una transicin en la seal b. F = b + b, se tiene que cumplir que ab = b, luego a=1 se tiene que cumplir que b(b+c) = b, luego b+c=1 (sin dar ningn valor a la variable b en la que se producir la transicin), por lo que c=0 F = bb se tiene que cumplir b(b+c) = bb, luego c=1 para evitar la inuencia del trmino ab se tiene que cumplir que ab=0, luego a=0 Por lo tanto, podemos apreciar que existe un azar de 1 para una transicin en la seal b cuando a=1 y c=0; y existe un azar de 0 para una transicin en la seal b cuando a=0 y c=1. Estos resultados corroboran el anlisis llevado a cabo mediante los mapas de Karnaugh. 4.2.3. Azares lgicos dinmicos Un azar lgico dinmico es un cambio transitorio de un valor de salida que slo debera tener una transicin, pero presenta ms de una de ellas (generalmente tres) ante una transicin en una variable de entrada. El principal motivo de la existencia de azares lgicos dinmicos consiste en la aparicin de variables complementadas y sin complementar (como en los azares estticos) que siguen ms de un camino, tal que la funcin pueda escribirse de la siguiente forma: F = a1 + a2a'3 --> F= a1(a2 + a'3) Donde 1, 2 y 3 identican tres caminos diferentes desde la entrada a hasta el nodo de salida. El azar dinmico viene dado por la diferencia de retrasos como indica la siguiente secuencia, como podemos ver en la gura 3.17. De aqu obtenemos un mtodo para detectar los azares dinmicos. El procedimiento a 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 variables distintas. Por lo que adems de no poder usar el 4 postulado, tampoco se puede usar los teoremas de idempotencia, ni los asociados.

TEMA III.- ANLISIS DE CIRCUITOS COMBINACIONALES

49

a1 a2 a 3 F

a1 a2 a 3 F

Figura 3.17.- Comportamiento de los azares dinmicos. Se obtiene de nuevo la frmula 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 transformacin es posible, se dice que el circuito tiene un azar lgico dinmico. Si volvemos al ejemplo anterior, la frmula lgica quedara de la siguiente forma: F = a5b5 + b3(b2+c1) Segn lo anteriormente visto, slo se podrn encontrar azares dinmicos en aquellas seales que sigan tres o ms caminos diferentes (en los que haya negados y sin negar). Por lo tanto, solo podremos encontrar azares dinmicos en la seal B. Si pasamos la frmula a suma de productos: F = a5b5 + b3(b2+c1) = a5b5 + b3b2 + b3c1 Luego se observa la presencia de un azar dinmico en la seal B cuando A=1 y C=1. La seal C debe valer 1 ya que b3b2 + b3= b3. Al pasar la frmula a producto de sumas, obtendramos: F=(a5+b5)(b3+b2)(b3+c1) = (a5b3+a5b2+b5b3+b5b2)(b3+c1) = a5b3 + a5b2c1+ b5b3 + b5b2c1 F = (a5+b3)(a5+b2+c1)(b5+b3)(b5+b2+c1) El presunto azar estara formado por el trmino (b5+b3) y otro trmino donde estuviese la seal B en otro camino diferente, como b2. Los trminos (a5+b3) y (b5+b2+c1) deben valer 1 para que no inuyan en el comportamiento, por lo tanto, A = 1 y C = 0. Con estos valores la frmula quedara: F = (b5+b3)

50

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

que no es ninguna condicin de azar dinmico. Por lo tanto, concluimos con que slo existe un azar dinmico. El trmino (b5+b2+c1) no ha sido considerado como posible camino de b2 debido a la presencia de b5. sta deshabilitara la diferencia de retraso entre b2 y b5, eliminado el tercer camino de la variable b. Una nota importante es que si no existen azares estticos, tampoco existen azares dinmicos. Esto es debido a que cualquier situacin de azar dinmico lleva implcito un azar esttico. Por lo tanto, para evitar situaciones de azares dinmicos, bastara con evitar todos los azares estticos.

TEMA IV.- DISEO DE CIRCUITOS COMBINACIONALES.


Como ya hemos comentado, el problema del diseo o sntesis consiste en determinar un circuito que cumpla con unas determinadas especicaciones, tanto de comportamiento como de funcionalidad. Este problema se puede dividir en dos partes: Obtencin de la funcin de conmutacin que cumpla la funcionalidad deseada. Obtencin de los circuitos que implementa dicha funcin con el comportamiento deseado. La obtencin de la funcin de conmutacin a partir de unas especicaciones no tiene una metodologa establecida sino que depende de la pericia del diseador y de la precisin de las especicaciones dadas. As, por ejemplo, vamos a considerar el diseo del sistema mostrado en la gura 4.1. Se trata de un sistema que opere sobre el estado de operacin de una lnea de montaje que dispone de dos sensores: peso en la cinta (A), y n de la cinta (B). El sistema debe ser tal que los motores deben actuar siempre y cuando haya algo en la cinta. La funcin de conmutacin que cumpla estas especicaciones puede ser la mostrada en la misma gura, es decir, exista un peso sobre la cinta (A=1) y no haya llegado al nal (B=0). A
B A

B 0 1 0 1 0 0 1 0

0 0 1 1

Figura 4.1.- Ejemplo de un problema de diseo.

El problema de la obtencin de un circuito que implementa la funcin de conmutacin dada s tiene unas metodologas bien establecidas. La realizacin de esta parte depende de los elementos con los que se implemente el circuito. Podemos distinguir los siguientes tipos de diseo: Diseo semi-custom.- Los bloques que disponemos sern puertas lgicas existentes en alguna librera disponible.

52

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica Diseo MSI.- Los bloques disponibles sern grandes bloques de una complejidad media, como pueden ser bloques sumadores. Diseo programable.- Los bloques disponibles sern dispositivos programables en los que se programar la funcin deseada. Diseo full-custom.- No se dispondr de ningn bloque, sino que todos los elementos necesarios, simples o complejos, debern ser generados por el diseador.

Cada uno de estos tipos ser objeto de estudio en diferentes temas. Concretamente, en el presente tema estudiaremos el diseo semi-custom.

1. Introduccin.
En el diseo semi-custom, podemos distinguir entre implementaciones en dos niveles o multiniveles, donde los niveles son el nmero mximo de puertas que estn conectados en cascada (en los niveles no se suelen contar los inversores de entrada). La implementacin en dos niveles es del tipo de suma de productos o de producto de sumas; en cambio, la implementacin multinivel corresponde a una frmula compleja en las que las operaciones AND y OR aparecen mezcladas. La implementacin en dos niveles tiene la ventaja de ser rpida, solamente el retraso de dos puertas; en cambio, como contraposicin, las puertas debern tener un mayor nmero de entradas, siendo ms complejas y lentas. Mientras, la implementacin multinivel tiene la ventaja de usar puertas ms pequeas y rpidas (por lo general), pero el circuito global ser ms lento al tener un retraso de ms de dos puertas. En la gura 4.2 mostramos dos implementaciones de la misma funcin: en dos niveles y en multinivel.
A A B B F B B C (a) (b) F

B C

Figura 4.2.- Diferencia entre una implementacin (a) en dos niveles y (b) multinivel.

La meta del diseador consiste en una realizacin mnima de un circuito que implemente una determinada funcionalidad. Los criterios de minimalidad que deben seguir son los que vimos en el tema II, con el orden siguiente: Menor nmero de trminos (que equivalen a puertas) Menor nmero de variables, incluso en los diferentes trminos (que equivalen al nmero de entradas)

TEMA IV.- DISEO DE CIRCUITOS COMBINACIONALES. Menor valor asociado.

53

La implementacin mnima multinivel no tiene un mtodo bien establecido y los que existen son muy complejos. Por lo tanto, lo que se suele hacer es: Dividir el diseo en varias partes, implementadas en dos niveles cada una, y unirlas posteriormente. Obtener una implementacin en dos niveles y una vez que tengamos la frmula, operar mediante el lgebra de Boole para unir los trminos posibles. Luego, la implementacin en dos niveles suele ser la base para la implementacin multinivel. Esta es la razn por la que nos vamos a centrar en este tipo de implementacin, de dos niveles. A la hora de plantearnos una frmula mnima, debemos diferenciar dos casos de funciones: funciones con una salida y funciones con ms de una salida. Esta diferenciacin es debido a que una solucin por separado de cada salida puede que no sea mnima si contamos con todas las salidas simultneamente. En la gura 4.3 vemos dos funciones cuya implementacin conjunta muestra un coste menor que su implementacin por separado:
F1 C 0 1 AB 00 0 0 01 1 1 11 0 1 10 0 0 F2 C 0 1 AB 00 0 0 01 1 0 11 1 1 10 0 0

Implementacin conjunta

Implementacin separada

A B C A B B C
F1 = AB + ABC F2 = BC + ABC

F1

F2

A B C B A B B C
F1 = AB + BC F2 = BC + AB

F1

F2

N puertas AND: 3 N puertas OR: 2

N puertas AND: 4 N puertas OR: 2

Figura 4.3.- Diferencia entre la implementacin monosalida y multisalida. Una vez que hemos visto la necesidad de realizar esta distincin, existen dos mtodos para implementar funciones en dos niveles: Mtodo del mapa.- suele ser usado para implementar funciones independientes, y por lo tanto funciones de una sola salida, basndose en los mapas de Karnaugh. Mtodo de McCluskey.- suele ser empleado para implementar funciones multisalida, aunque tambin se puede usar para funciones con una sola salida.

54

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

2. Mtodo del Mapa.


Este mtodo se basa en el mapa de Karnaugh y el 4 postulado del lgebra de Boole. Si recordamos los mapas de Karnaugh, consiste en una representacin tabular en dos dimensiones, tal que cada celda adyacente (geomtricamente hablando) tambin es adyacente desde el punto de vista de la distancia de Hamming. Debido a la caracterstica de que todas las celdas adyacentes tienen una distancia igual a la unidad (slo cambia una variable), se pueden demostrar las siguientes igualdades: Un grupo de 1s adyacentes en un nmero igual a una potencia de dos, es realizado por el trmino producto de las variables que no cambian de valor, tomndolas como sin complementar si valen 1 y complementadas si valen 0. Supongamos que tenemos un grupo de dos 1s adyacentes en los que la variable que cambia sea xn. Los posibles mintrminos de dichos 1s podran ser x1...xn...xm y x1...xn...xm. Una posible frmula de la funcin que tendra dichos 1s sera la suma de los mintrminos, por lo tanto: F = x1...xn...xm + x1...xn...xm= x1...xn-1(xn+xn)xn+1...xm = x1...xn-1xn+1...xm es decir, sera el producto de todas las variables (complementadas o sin complementar) excepto la variable que ha realizado el cambio. Supongamos ahora que el grupo es de cuatro 1s adyacentes en los que las variables que cambian son xn y xp. Los posibles mintrminos podran ser x1...xn...xp...xm, x1...xn...xp...xm, x1...xn...xp...xm y x1...xn...xp...xm. Si sumamos los mintrminos y 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-1xp+1...xm = x1...xn-1xn+1...xp-1xp+1...xm Luego, la armacin anterior es vericada para los grupos de potencia de dos. Pero supongamos que tenemos tres 1s adyacentes. El nmero de variables que cambian son de nuevo de dos. Supongamos que los mintrminos son: x1...xn...xp...xm, x1...xn...xp...xm y x1...xn...xp...xm, variando de nuevo xn y xp. Si realizamos las sumas y operamos segn 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-1xp+1...xm + x1...xn...xp...xm Por lo tanto, los grupos deben tener un nmero de 1s igual a una potencia de dos, es decir, 1, 2, 4, 8, 16, 32, 64,... Por una aplicacin directa del principio de dualidad, obtenemos unas deniciones equivalentes para el caso de los 0s y de los trminos sumas. Un grupo de 0s adyacentes en un nmero igual a una potencia de dos, es realizado por el trmino suma de las variables que no cambian de valor, tomndolas sin complementar si valen 0 y complementadas si valen 1.

TEMA IV.- DISEO DE CIRCUITOS COMBINACIONALES.

55

Supongamos que tenemos un grupo de dos 0s adyacentes en los que la variable que cambia sea xn. Los posibles maxtrminos de dichos 0s podran ser x1+...+xn+...+xm y x1+...+xn+...+xm. Una posible frmula de la funcin que tendra dichos 0s sera el producto de los maxtrminos, luego: F = (x1+...+xn+...+xm)(x1+...+xn+...+xm) = x1+...+xn-1+xn+1+...+xm + xnxn = = x1+...+xn-1+xn+1+...+xm es decir, sera la suma de todas las variables (complementadas o sin complementar) excepto la variable que ha realizado el cambio. Para el resto de la demostracin se opera siguiendo los mismo pasos que en el caso de los grupos de 1s. Veamos un ejemplo al respecto. En la gura 4.4 se muestra el mapa de Karnaugh de una funcin cuya frmula de mintrminos es F(A,B,C,D) = m( 1, 5, 7, 10, 11, 14, 15). Podemos apreciar que en dicha funcin podemos formar cuatro grupos de 1s adyacentes, etiquetados I1, I2, I3 e I4.
F = m(1,5,7,10,11,14,15) AB CD 00 01 11 10 00 0 1 0 0 01 0 1 1 0 11 0 0 1 1 10 I4 0 I3 0 1 I1 1 I2

Figura 4.4.- Ejemplo de grupos de 1s adyacentes en un mapa de karnaugh. Dichos grupos se correspondern con los siguientes trminos producto (puesto que hemos agrupados los 1s): I1 = m(10) + m(11) + m(14) + m(15) = ABCD + ABCD + ABCD + ABCD = ABC(D+D) + ABC(D+D) = ABC + ABC = A(B+B)C = AC I2 = m(7) + m(15) = ABCD + ABCD = (A+A)BCD = BCD I3 = m(5) + m(7) = ABCD + ABCD = AB(C+C)D = ABD I4 = m(1) + m(5) = ABCD + ABCD = A(B+B)CD = ACD Por lo tanto, tenemos trminos con dos entradas (el grupo I1) y con tres entradas (los grupos restantes). Como podemos comprobar, los trminos con un nmero menor de entradas sern aquellos que ms 1s engloben, ya que habr ms seales de entrada que cambien (con lo que no inuirn en dicho trmino). Un posible grupo formado por los mintrminos m(10) y m(11) no ser considerado ya que se encuentra completamente dentro del grupo I1.

56

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica En relacin con estos grupos de 1s (0s), tenemos las siguientes deniciones: Un implicante prima o implicante es un grupo de 1s (0s) con un nmero igual a una potencia de dos que no est contenido totalmente en otro grupo de las mismas caractersticas.

Si observamos en el ejemplo anterior, podemos ver que todos los implicantes son primas. Cuando algn 1 (0) es cubierto por un solo implicante, se dice que dicho implicante es esencial. Si observamos en el ejemplo anterior, podemos identicar que los implicantes I1 e I4 son esenciales, mientras que los I2 e I3 no son esenciales. Una vez que se han denido los implicantes, podemos demostrar que La frmula mnima de la funcin ser aquella compuesta por la unin de los implicantes esenciales y puede que de algunos no esenciales, de tal forma que cubramos toda la tabla. Demostracin.- En la frmula debern estar incluidos todos los 1s (0s) de la funcin. Luego, los implicantes que estarn presentes en la frmula deben cubrir todos los 1s (0s). Por denicin de implicante esencial, es el nico implicante que cubre a algn 1 (0); por lo tanto, para que dicho 1 (0) est involucrado en la frmula, dicho implicante debe aparecer en ella. No obstante, puede que exista algn 1 (0) cubierto por implicantes no esenciales; luego puede que alguno de estos implicantes no esenciales deban aparecer en la frmula para cubrir algn 1 englobado slo por implicantes no esenciales. Esta unin ser a travs de sumas, cuando estamos considerando los 1s y los implicantes se correspondern con trminos productos; o travs de productos, cuando estemos considerando los 0s y los implicantes se correspondern con trminos sumas. Si consideramos la funcin del ejemplo anterior, y consideramos la frmula como suma de productos (consideraremos los 1s), todas las frmulas de dicha funcin sern: f = I1 + I3 + I4 = ac + a'bd + a'c'd, f = I1 + I2 + I4 = ac + bcd + a'c'd, f = I1 + I2 + I3 + I4 = ac + bcd + a'bd + a'c'd Las dos primeras soluciones tienen el mismo coste, siendo el mnimo, mientras que en la ltima puede eliminarse un implicante, I2 o I3, lo cual nos llevar a una implementacin no mnima. Luego, segn lo visto, podemos encontrarnos con frmulas en las que podemos eliminar algn trmino y con otras en las que no se puede eliminar ningn trmino. Segn las frmulas podemos encontrar las siguientes deniciones: Una frmula se denomina irredundante cuando no se puede eliminar ningn implicante sin que cambia la funcin lgica. En caso contrario se denominar redundante. Las dos primeras frmulas sern irredundantes ya que si eliminamos algn implicante, la funcin lgica que representa cambiar. En cambio, la tercera frmula es redundante porque se puede eliminar el implicante I2 o I3 sin que cambie la funcin lgica. Teorema 4.1.-

TEMA IV.- DISEO DE CIRCUITOS COMBINACIONALES.

57

Una situacn que no nos puede llevar a error consiste en que podemos obtener una frmula irredundante no mnima. Por ejemplo las siguientes frmulas F1 = ab + abd + abd F2 = ab + ad + bd son equivalentes y tambin son irredundantes. No obstante, queda claro que la frmula F1 tiene un coste mayor debido a la utilizacin de puertas on un mayor nmero de entradas. Los mapas de Karnaugh mantienen su peculiaridad (diferenciarse en una variable slo para las celdas adyacentes) para las funciones con cuatro variables o menos. Si aumentamos este nmero, por ejemplo a cinco variables (gura 4.5), podemos ver que existen celdas con una distancia igual a 1 (y por lo tanto, se pueden unir en un mismo implicante) que no son adyacentes (desde un punto de vista geomtrico). En el mapa de cinco variables mostrado existen columnas que se deben unir en un mismo implicante que no son adyacentes geomtricamente. La columna 010 tendr una distancia de Hamming de 1 con respecto a la columna 000, pero no son adyacentes, por lo que el implicante a'c' no sera fcilmente distinguible por el mtodo del mapa. Para resolver este problema, existen dos soluciones.
F AB CD 00 01 11 10 000 001 011 010 110 111 101 100

Figura 4.5.- Ejemplo de mapa de karnaugh de cinco variables. La primera solucin consiste en la aplicacin de los teoremas de expansin: f(x5, x4, x3, x2, x1) = x5f(1, x4, x3, x2, x1) + x5'f(0, x4, x3, x2, x1), obteniendo los implicantes correspondientes a las funciones f(1, x4, x3, x2, x1) y f(0, x4, x3, x2, x1) que ya son de cuatro variables. Una vez que tengamos la frmula escrita de esta manera, se reduce (si es posible) con el cuarto postulado. El resultado de esta forma depende ampliamente de la pericia del diseador a la hora de la reduccin. En el caso de funciones de un nmero mayor de variables, se aplica sucesivamente los teoremas de expansin hasta reducir la funcin a varias de cuatro variables. Por ejemplo, consideremos la funcin F(x5, x4, x3, x2, x1)= m(0, 2, 8, 10, 30, 31). En la gura 4.6 mostramos los mapas de Karnaguh de dicha funcin, tanto en el mapa de cinco variables como aplicando el teorema de expansin sobre la variable x4 El teorema de expansin nos dice que F = x4F(x4=1) + x4F(x4=0), es decir F = x4 (x5x3x2 + x5x3x1) + x4 (x5x3x1) Y pasamos a reducir la frmula utilizando los diferentes postulados del lgebra de Boole, por lo que la funcin queda:

58

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

F x5 x4 x3 x2 x1 00 01 11 10
F x5 x3 x2 x1 00 01 11 10 00 1 01 11 10

000 1

001

011

010 1

110

111

101

100

1 1 1 1
F x5x3 x2 x1 00 01 11 10

F(x4=0)

00 01 11

F(x4=1)
1
10

Figura 4.6.- Mapas de Karnaugh de la funcin F(x5, x4, x3, x2, x1)= m(0, 2, 8, 10, 30, 31) F = x5x4x3x2 + x5x3x1 La segunda forma consiste en la obtencin de las implicantes primas por mtodos tabulares. Uno de estos mtodos es el denominado mtodo por carcter binario. Consiste en poner la combinacin de todos los mintrminos que se encuentran en la funcin. Los mintrminos se agrupan por el nmero de 1's. Se unen aquellos que slo se diferencian en una variable (por lo que slo hay que mirar en los grupos adyacentes), eliminando dicha variable. Este procedimiento se repite mientras se pueda. Los implicantes primas sern aquellos que no se han podido repetir, de tal forma que el producto estar formado nicamente por las variables que queden de la misma forma que en el mtodo del mapa (complementada si su valor es 0, o sin complementar si su valor es 1, en el caso de considerar los 1s). Veamos el ejemplo para la funcin f = m(0, 2, 8, 10, 30, 31), cuya ejecucin se muestra en la gura 4.7. Al agrupar los mintrminos por el nmero de 1s, nos han quedado 5 grupos diferentes (A={0}, B={2,8}, C={10}, D={30}, E={31}). Estos grupos son agrupados con sus adyacentes segn el nmero de 1s, tal que nos quedan tres grupos: A1={(0,2), (0,8)}, B1={(2,10), (8,10)} y C1={(30,31)}. Tenemos que notar que los grupos C y D no se pueden agrupar ya que no son adyacentes (el grupo C tiene dos 1s y el D tiene 4 1s). En los agrupamientos, la variable que ha sufrido el cambio se elimina, por lo que colocamos en su posicin un guin. Para el nuevo agrupamiento, los mintrminos a agrupar solamente deben tener un valor diferente (incluyendo ceros, unos y guiones), por lo tanto, tambin debemos tener en cuenta que no todos los elementos de grupos adyacentes pueden ser agrupados (como (0,2) y (2,10)). Si realizamos un nuevo agrupamiento nos quedan dos grupos, A2={(0,2,8,10)} y B2={(30,31)}. Como podemos observar, ya no se puede realizar ningn agrupamiento ms. Por lo tanto, los implicantes obtenidos para esta funcin han sido dos: x5'x3'x1' y x5x4x3x2. En cambio, observando simplemente el mapa de Karnaugh de la gura 4.6, el primer implicante no se apreciara.

TEMA IV.- DISEO DE CIRCUITOS COMBINACIONALES.

59

x5 x4 0 2 8 10 30 31 0 0 0 0 1 1 0 0 1 1 1 1

x3 x2 x1 0 0 0 0 1 1 0 1 0 1 1 1 0 0 0 0 0 1 0,2 0,8 2,10 8,10

x5 x4 0 0 0 0 0 --1 1

x3 x2 x1 0 0 0 0 1 -0 1 -1 0 0 0 0 --

x5 x4 0,2,8,10 0 30,31 1 -1

x3 x2 x1 0 1 -1 0 --

30,31 1

Figura 4.7.- Obtencin de los implicantes de una funcin de cinco variables mediante el mtodo tabular Hasta ahora slo hemos considerado funciones completas. Para el caso de las funciones incompletas, las inespecicaciones se tratan para aumentar el tamao de los implicantes. Si las especicaciones no pueden aumentarlos, no se tienen en cuenta. Veamos el ejemplo de la gura 4.8. Las inespecicaciones en los mintrminos 3 y 6 nos han servido para pasar de tres implicantes de tres variables a dos implicantes de dos variables. En cambio, la inespecicacin 12 no nos sirve para aumentar ningn implicante, por lo que no se considera. En la nueva funcin, se puede observar que los implicantes I1 y I3 son esenciales, mientras que el I2 no. En este caso, la funcin mnima slo es la suma de los dos implicantes esenciales, es decir, f = ac + a'd.

F = m(1,5,7,10,11,14,15) + (3, 6, 12) AB 01 00 11 10 CD 00 01 11 10 0 1 0 0 1 1 0 1 1 0 0 1 1 I3 = AD I1 = AC I2 = BC


Figura 4.8.- Ejemplo de diseo de una funcin incompleta utilizando el mtodo del mapa.

Si en lugar de querer una implementacin de suma de productos, queremos una implementacin de producto de sumas, se opera de la misma forma pero con los ceros y los trminos sumas. Como recordaremos, la nica diferencia para pasar del trmino suma a la operacin OR con respecto al paso del trmino producto a la operacin AND, consiste en que ahora la variable aparecer complementada si tiene el valor 1 y sin complementar si tiene el valor 0. En el caso del ejemplo anterior, en la gura 4.9 mostramos la implementacin en producto de sumas:

60

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

F = m(1,5,7,10,11,14,15) + (3, 6, 12) = M(0,2,4,8,9,13) (3, 6, 12) AB 01 00 11 10 CD I1 = C+D 00 0 0 0 01 11 10 1 0 1 1 0 1 1 0 1 1 I3 = A+D I2 = A+C F = (A+D)(A+C)

Figura 4.9.- Ejemplo de diseo de una funcin incompleta en producto de sumas.

3. Mtodo de McCluskey
Como ya hemos apuntado, cuando estamos considerando una funcin multisalida, la posibilidad de compartir puertas para varias salidas puede conducirnos a una implementacin ms ptima. Luego deberemos encontrar un mtodo que le d un mayor peso a los trminos comunes a la hora de su eleccin para desarrollar la frmula lgica. El mtodo del mapa no es apropiado para la implementacin de funciones multisalida al no considerar la posibilidad de trminos comunes en las diferentes salidas de la funcin. Esta consideracin s se lleva a cabo en el mtodo de McCluskey. Por lo tanto, al considerar funciones multisalida, la denicin de implicante cambia de la siguiente forma. Los implicantes de una funcin multisalida sern aquellos implicantes de las salidas por separado como de todas las posibles combinaciones (productos en el caso de suma de productos o sumas en el caso de producto de sumas) de las diferentes salidas. Si tenemos una funcin con tres salidas, F, G y H, y queremos hallar su suma de productos, los implicantes de la funcin sern aquellos correspondientes a FGH, FG, FH, GH, F, G y H, de tal forma que siguiendo este orden no se aadan los implicantes repetidos. De igual forma, si la implementacin fuese en producto de sumas, los implicantes de la funcin seran los correspondientes a F+G+H, F+G, F+H, G+H, F, G, H. A partir de ahora, y salvo que se diga lo contrario, supondremos que la frmula que deseamos obtener deber estar en suma de productos. En el caso de producto de sumas, el desarrollo es paralelo considerando el principio de dualidad. Una vez que tengamos todos los implicantes, creamos la denominada tabla de McCluskey. En dicha tabla, cada la corresponde a un implicante y cada columna corresponde a un 1 de cada funcin. Dicha tabla se divide por salida (segn las columnas) e implicantes de cada salida (segn las las). Se marcan los 1's obtenidos por cada implicante en cada salida. Un ejemplo de dicha tabla se muestra en la gura 4.10. En ella podemos ver implicantes de una sola salida (el implicante 1 y 2 para F1 y el n para F2) e implicantes para dos salidas (el implicante 3).

TEMA IV.- DISEO DE CIRCUITOS COMBINACIONALES.

61

F1 mi mj mk . . . mn Implicante 1 Implicante 2 Implicante 3

F2 ma mb mi mn . . . ml

Implicante n

Figura 4.10.- Ejemplo de una tabla de McCluskey. La reduccin de esta tabla nos llevar al nmero mnimo de implicantes que sern necesarios para cubrir todos los mintrminos de las salidas, y por tanto a la frmula mnima. La minimizacin se reduce a la aplicacin sucesiva de los criterios de esencialidad y de dominancia, y eventualmente de equivalencia, hasta que estn cubiertos todos los 1s de todas las salidas. El criterio de esencialidad nos indica cules de los implicantes son esenciales, y por lo tanto, deben aparecer en la frmula mnima. Un la esencial es aquella cuyo implicante es esencial para alguna de las salidas. Este implicante debe aparecer en la frmula de la salida correspondiente. Una vez cogido dicho implicante, se tacha la la donde estaba y todas las columnas marcadas en dicha la ya que dichos 1's han sido obtenidos. Este proceso se repite para todas las las esenciales. En la tabla, la esencialidad se observa cuando existe alguna columna (algn 1) que nicamente tiene una cruz (es cubierto por un solo implicante); luego el implicante de dicha cruz es esencial. Una vez que ya no existan ms las esenciales, pasamos a aplicar los criterios de dominancia. Este criterio nos indica los implicantes que son redundantes, y por lo tanto, no debern aparecer en la frmula mnima. Una la o implicante A se dice que domina a otro B, representndose A B, si todas las marcas de B estn contenidas en A, que a su vez tiene ms. En este caso se puede eliminar el implicante B tachando su la. Se dice que A y B son equivalentes si todas las marcas del implicante A estn en el implicante B que no tiene ninguna ms. En este caso se puede eliminar cualquiera tachando la la correspondiente, no obstante por criterios de minimalidad se elimina aquel implicante que tiene mayor coste (es decir, el que tiene ms variables de entrada).

62

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Supongamos que deseamos disear un circuito que tenga dos salidas denidas por f1= m(1,3,7) y f2 = m(2,6,7). Los implicantes de esta funcin se muestran en la gura 4.11.
F1F2 AB C 0 1 F1 C 0 1 F2 C 0 1 AB 00 0 1 01 0 1 11 0 1 10 0 0 I2 = BC I3 = AC 00 0 0 01 0 0 11 0 1 10 0 0 I1 = ABC

AB 00 0 0 01 1 0 11 1 1 10 0 0 I4 = BC I5 = AB

Figura 4.11.- Implicantes de una funcin multisalida. En la gura 4.12 se muestra el proceso completo de minimizacin. En la gura 4.12 (a) mostramos la tabla de McCluskey original, en la que se pueden ver los implicantes comunes a las dos salidas (I1), y los de cada una de ellas (I2 e I3 para F1, I4 e I5 para F2). As mismo, en las columnas se encuentran los mintrminos de cada salida por separado (como el mintrmino 7 es comn a ambas, se coloca dos veces, una en cada salida). En la gura 4.12 (b), se ha aplicado el criterio de esencialidad. Se comprueba que existen dos implicantes esenciales; I3 para F1 debido al mintrmino 1, e I4 para F2 debido al mintrmino 2. Luego ambos implicantes aparecern en las frmulas correspondientes. Al aparecer ya en las frmulas, los mintrminos cubiertos por dichos implicantes y para esas salidas no son necesarios que se cubran de nuevo. Luego, son eliminadas dichas las (o la parte correspondiente a la/s salida/s para los que son esenciales) y las columnas cubiertas por dichos implicantes. Por lo tanto, obtenemos una nueva tabla en la que aparecern los implicantes I1, I2 e I5, y las columnas 7 de ambas salidas. Seguidamente se aplica los criterios de dominancia (gura 4.12c). Dichos criterios hay que aplicarlos sobre la la completa, y no sobre cada salida por separado. De esta forma garantizamos que se premia a los implicantes comunes a ms de una salida, ya que tendrn ms cruces. En este caso, podemos observar que el implicante I1 domina a los otros dos. Por lo tanto, estos ltimos sern eliminados. Despus de eliminar los implicantes dominados, volvemos a aplicar los criterios de esencialidad sobre la nueva tabla (gura 4.12d). En este caso observamos que el implicante I1 es

TEMA IV.- DISEO DE CIRCUITOS COMBINACIONALES.

63

F1 1 I1 I2 I3 I4 I5 (a) 3 7 2

F2 6 7 I1 I2 I3 I4 I5 1

F1 3 7 2

F2 6 7

(b) F1 = I3 + F2 = I4 +

F1 1 I1 I2 I3 I4 I5 (c) 3 7 2

F2 6 7 I1 I2 I3 I4 I5 1

F1 3 7 2

F2 6 7

(d) F1 = I3 + I1 F2 = I4 + I1

Figura 4.12.- Desarrollo de la minimizacin de la tabla de McCluskey. (a) Tabla original; (b) despus del cirterio de esencialidad; (c) despus del criterio de dominancia; y (d) despus de la segunda aplicacin del criterio de esencialidad. esencial para ambas salidas, luego deber aparecer en ambas frmulas. Una vez hecho esto, se elimina la la de los implicantes esenciales (o las porciones de ellas), as como las columnas donde tengan cruces. Este procedimiento nalizar cuando no exista ninguna columna en la tabla. Con ello garantizamos que todos los mintrminos de todas las funciones estarn cubiertos. Se puede dar el caso de que una vez que hayamos utilizado los criterios de implicantes esenciales y dominantes, no se puedan seguir aplicando ya que no existe ningn implicante dominante sobre otro. Entonces llegamos a lo que se conoce como tabla de implicantes cclica. A partir de este momento no existe ningn mtodo que nos d una solucin mnima. Lo nico que se puede hacer es elegir una implicante de forma arbitraria como esencial y

64

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

seguir con el procedimiento anterior. Esto se repite para todos los implicantes que queden y la frmula mnima se escoge como la de menor coste de todas las obtenidas. En el caso de que tengamos funciones incompletas, las inespecicaciones solamente se utilizaran a la hora de obtener las implicantes primas, de tal forma que las implicantes tengan el menor coste posible. Una vez obtenidas dichas implicantes, solamente se trata la funcin completa asociada. Al igual que en el mtodo del mapa, si en vez de querer obtener una frmula como suma de productos, queremos obtenerla como producto de sumas se opera de igual forma pero obteniendo los implicantes a partir de los ceros y en lugar del producto de las funciones se coge la suma, como podemos ver en la gura 4.13
F1+F2 AB C 0 1 F1 C 0 1 F2 C 0 1 AB 00 0 1 01 0 1 11 0 1 10 0 0 I3 = C =(0,2,4,6)

00 0 1

01 1 1

11 1 1

10 0 0 I1 = B+C = (0,4) I2 = A+B = (4,5)

AB 00 0 0 01 1 0 11 1 1 10 0 0 I4 = B = (0,1,4,5) I5 = A+C =(1,3)

Figura 4.13.- Implicantes de una funcin multisalida para su implementacin como producto de sumas. El proceso de minimizacin es mostrado en la gura 4.14. Empezamos con los criterios de esencialidad, observando que los implicantes I3 e I2 son esenciales para F1, y el implicante I5 es esencial para F2. En este caso, el implicante esencial I2 tambin es implicante para F2 (aunque no esencial para dicha salida). Por lo tanto, se ha cogido para la salida F1, pero no se ha eliminado de la tabla (solamente se ha eliminado la porcin de F1); no obstante se ha etiquetado dicho implicante para recordarnos que su nueva eleccin para otra salida no conlleva coste alguno (si fuese necesario acudir a este parmetro para arbitrar un posible criterio de equivalencia) . El resto del proceso de minimizacin es equivalente al visto anteriormente. Se aplican alternativamente los criterios de esencialidad y de dominancia hasta acabar con todas las columnas o llegar a una tabla cclica.

TEMA IV.- DISEO DE CIRCUITOS COMBINACIONALES.

65

F1 0 2 4 5 6 I3 I4 I5 I2 I1 (a) F1 0 2 I3 I4 I5 *I2 I1 (c) 4 5 6

F2 0 1 3 4 5 I3 I4 I5 *I2 I1

F1 0 2 4 5 6

F2 0 1 3 4 5

(b) F1 = I3 I2 F2 = I5 F2 0 1 3 4 5 I3 I4 I5 *I2 I1 (d) F1 = I3 I2 F2 = I5 I4 F1 0 2 4 5 6 F2 0 1 3 4 5

Figura 4.14.- Desarrollo de la minimizacin de la tabla de McCluskey. (a) Tabla original; (b) despus del cirterio de esencialidad; (c) despus del criterio de dominancia; y (d) despus de la segunda aplicacin del criterio de esencialidad.

4. Diseo libre de azares.


Los mtodos que hemos visto hasta ahora nos proporcionan una implementacin mnima sin tener en cuenta el comportamiento transitorio, es decir, slo se centra en el comportamiento esttico. Para poder obtener un diseo libre de azares, solamente tenemos que hacer algunas modicaciones sobre los mtodos anteriores. Para ello haremos uso de la premisa de que un par de 1s (0s) adyacentes no englobados por el mismo implicante, constituir un riesgo de azar. Luego para evitar todos los riesgos de azares, debemos garantizar que no existan ninguna pareja de 1s (0s) adyacentes con la propie-

66

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

dad anterior. Con esta condicin conseguimos eliminar todos los azares estticos, y por lo tanto todos los azares dinmicos (ya que estn basados en ellos). Obviamente, al aadir una nueva funcionalidad al diseo, la no existencia de azares, los diseos obtenidos tendrn un coste mayor o igual que no fuesen considerada esta caracterstica. 4.1. Mtodo del mapa. En este caso, tenemos que garantizar que no quede ninguna pareja de 1's adyacentes sin que estn cubiertos por algn implicante comn. Por lo tanto, en la frmula lgica debern aparecer los implicantes esenciales y no esenciales necesarios para garantizar que no exista ninguna pareja de 1s (0s) adyacentes que no est cubierta por un mismo implicante. Para aadir esta nueva peculiaridad ms a la frmula de conmutacin, servir toda la formulacin desarrollada en el apartado anterior, simplemente sustituyendo los 1s (0s) por las parejas de 1s (0s) adayacentes. En el ejemplo correspondiente, la implementacin libre de azares se muestra en la gura 4.15. En este caso todos los implicantes son esenciales, por lo que debern aparecer en la frmula lgica. F = m(1,5,7,10,11,14,15) AB 01 00 11 CD 00 01 11 10 0 1 0 0 0 1 1 0 0 0 1 1

10 0 0 1 1

D C

A B

F = A + B + C + D = ac + bcd + abd + acd

Figura 4.15.- Implementacin libre de azares utilizando el mtodo del mapa.

4.2. Mtodo de McCluskey Al igual que suceda con la formulacin basada en el mapa de Karnaugh, la formulacin desarrollada en el mtodo de McCluskey es la misma sustituyendo los 1s (0s) por las parejas de 1s (0s) adyacentes. En este caso, solamente se vera alterada la creacin de la tabla de McCluskey en el sentido en que donde antes se colocaban los 1s (0s) de cada salida, es decir, en las columnas, ahora se colocan las parejas de 1s adyacentes o los 1s que no tengan ninguno adyacente. Seguidamente el implicante deber cubrir a toda la pareja de cada columna.

TEMA IV.- DISEO DE CIRCUITOS COMBINACIONALES.

67

En la gura 4.16 mostramos la tabla de McCluskey libre de azares del ejemplo anterior. En este caso el implicante I1 no cubre ninguna columna, ya que dicho implicante slo cubre el mintrmino 7, pero no la pareja 3-7 ni la 6-7. F1 1-3 I1 I2 I3 I4 I5 3-7 2-6 F2 6-7

Figura 4.16.- Tabla de McCluskey libre de azares.

El proceso de minimizacin ser idntico al mostrado en el apartado anterior. Es decir, la aplicacin alternativa de los criterios de esencialidad y de dominancia. En este caso, los implicantes I2 e I3, e I4 e I5 son esenciales para las salidas F1 y F2 respectivamente. Por lo tanto, la implementacin mnima libre de azares quedara de la siguiente forma: f1 = I2 + I3 = a'c + bc f2 = I4 + I5 = bc' + ab

5. Implementacin del circuito digital


Hasta ahora, hemos desarrollado los mtodos para obtener una frmula de conmutacin mnima que realiza una determinada funcin de conmutacin. El siguiente paso, y ltimo, consiste en pasar de la frmula al circuito digital. Este paso es simple y directo. Se procede de tal forma que se sustituye el operador que aparece en la frmula por su puerta equivalente. Luego el operador producto es sustituido por una puerta AND, mientras que el operador suma es sustituido por una puerta OR. De igual forma, cuando aparezca, tambin se sustituir el operador negacin por un inversor. As, para el caso de la funcin f = ac + a'd, la implementacin sera la mostrada en la gura 4.17: A C D Figura 4.17.- Implementacin en suma de productos de la funcin f = ac + a'd

68

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

6. Conversin entre implementaciones de dos niveles.


Las implementaciones de dos niveles son, como ya hemos dicho, suma de productos o producto de sumas. La implementacin para suma de productos (producto de sumas) se suelen hacer con un primer nivel de puertas AND (OR) seguidas de una sola puerta OR (AND) con tantas entradas como puertas AND (OR) existan. Para convertir una implementacin de suma de productos en producto de suma se procede a la doble inversin, como ya se ha comentado. No obstante, la implementacin obtenida no tiene porqu ser mnima, sino que puede ser necesario una minimizacin utilizando los teoremas del lgebra de Boole. Veamos el ejemplo de la frmula: F = abc + ab + abc F = (a+b+c)(a+b)(a+b+c) = (a+b+c)(a+bc) = abc + ab + ac F = (F) = (a+b+c)(a+b)(a+c) Es decir, negamos la frmula que deseamos convertir dejndola de la misma forma (suma de producto o producto de sumas) que la frmula original. Una vez realizada la primera negacin, se vuelve a negar, obteniendo directamente la expresin deseada. Hasta ahora slo hemos contado con el conjunto completo de las puertas AND, OR e inversores. No obstante, existen ms conjuntos completos como el de las puertas NAND y el de las puertas NOR. Por lo tanto, a continuacin nos planteamos la conversin de suma de productos y producto de sumas a implementaciones NAND-NAND y NOR-NOR. En el caso de suma de productos, vemos que si cambiamos la puerta OR por su implementacin con puertas NAND es decir, (a' and b')', obtenemos la implementacin mostrada en la gura 4.18. De donde observamos que la conversin de suma de productos a NAND-NAND es inmediata y sin necesidad de realizar casi ningn cambio. El nico caso en que sera necesario algn cambio se da cuando existe alguna entrada que va directamente a una entrada de la puerta OR del segundo nivel. En este caso, como podemos observar en la gura 4.18b es necesario la adicin de un inversor (o de algn elemento con su funcionalidad). En el caso del producto de suma, se puede ver de igual forma que su conversin a NORNOR es igualmente inmediata, como sucede con el caso anterior. Un ejemplo similar al anterior se muestra en la gura 4.19. Por ltimo para pasar de una implementacin NAND-NAND a una NOR-NOR (y viceversa), solamente se necesita pasar de la implementacin de suma de productos a producto de sumas (y viceversa).

TEMA IV.- DISEO DE CIRCUITOS COMBINACIONALES.

69

A C D

A C D

A C D

A C D

A C D (b)

A C D

Figura 4.18.- Conversin de la implementacin AND-OR a la implementacin NANDNAND.

A C D

A C D

A C D

A C D

A C D

A C D

(b)

Figura 4.19.- Conversin de la implementacin OR-AND a la implementacin NOR-NOR.

70

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

TEMA V.- DISEO MSI (MEDIUM SCALE INTEGRATION).


El diseo MSI surgi gracias a los avances en la tecnologa de integracin. Estos avances abarataron los costes de produccin, y permitieron el desarrollo de circuitos ms generales. En la primera etapa de la Electrnica, los circuitos eran construidos nicamente a modo de chips especcos (generalmente a partir de puertas sencillas) debido al excesivo coste de la integracin. A medida que el tiempo pas, se fueron mejorando las tcnicas de integracin abaratndose de esta forma la integracin de los circuitos. Esta reduccin del coste lleg hasta tal punto que ya no era restrictivo la construccin de circuitos de propsito general, de tal forma que el diseador, como paso previo a la integracin, generalmente poda construir un prototipo con la conexin de estos bloques. Este prototipo poda construirse en una regleta de entrenamiento o en una placa impresa (PCB, Printed Circuit Board). A menudo, si el resultado del prototipo satisfaca todas las expectativas del producto nal, el diseo se acababa con la PCB.

1. Introduccin.
Los bloques combinacionales que se suelen utilizar en este tipo de diseo suelen contar con tres tipos de seales: seales de control (ya que el bloque tiende a tener ms de una operacin, seleccionndose la funcin deseada con estas seales entre otras cosas), seales de entrada de datos y seales de salida de resultados. Dentro de las seales de control ms comunes podemos encontrar: Seales de inhibicin/desinhibicin (CS).- son seales que impiden o permiten la operacin del bloque. Seales de seleccin de operacin.- determinan cul de las operaciones implementadas en el bloque va a ejecutarse. Un smbolo de un bloque MSI genrico se puede ver en la gura 5.1. En estos bloques, los operandos suelen tener ms de un bit, luego al operando se suele representar por una palabra, es decir, el nmero de bits que tiene un operando. La forma de representar esta situacin consiste en utilizar una lnea de trazo grueso para las palabras; y en el caso de que se quiera identicar el nmero de bits de la palabra, a la lnea anterior se le cruza una lnea oblicua encima de la cual aparece este tamao. Habitualmente, la utilizacin de estos bloques suele estar supeditada a una mayor complejidad del sistema a implementar. As mismo, la metodologa empleada en la utilizacin de estos bloques es diferente a la basada en la utilizacin de puertas lgicas. A groso modo, se

72

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

n
entrada salida

control CS

Figura 5.1.- Smbolo genrico de un bloque MSI. buscar algn algoritmo que muestre el comportamiento necesario; cada bloque de este algortimo suele tener una contrapartida directa en dispositivos MSI, por lo que la implementacin sera una mera sustitucin de operadores por dispositivos (como suceda en la implementacin de las frmulas lgicas). Un esquema bastante general de un algoritmo es el mostrado en la gura 5.2, llamado generalmente diagrama de ujo de datos. A la vista de este diagrama podemos clasicar los diferentes dispositivos MSI en tres grandes grupos: Dispositivos aritmtico-lgicos. Son los encargados de realizar el procesado con los datos. Dispositivos de camino de datos. Son los encargados de conducir el ujo de datos por el camino correcto para realizar una determinada operacin. Dispositivos de entrada-salida. Son los encargados de adecuar la transmisin de informacin entre el medio exterior (por lo general un usuario) y el circuito implementado. Estos dispositivos son necesarios, ya que no podemos obligar a que cualquier usuario conozca la base de la Electrnica Digital para saber introducir la informacin y extraer los resultados de las diferentes operaciones. No obstante tenemos que aclarar que esta clasicacin no es estndar, ya que algunos autores introducen los bloques aritmtico-lgicos, dentro de los bloques de camino de datos. Tambin los dispositivos de entrada-salida no suelen aparecer en los diagramas de ujo, no obstante, su utilizacin es necesaria en la implementacin nal.

2. Bloques aritmtico-lgicos.
Los bloques aritmtico-lgicos son los encargados de realizar el procesado de la informacin de entrada. Dentro de estos bloques podemos destacar los sumadores, los comparadores y las unidades aritmtico-lgicas o ALU's. 2.1. Bloques sumadores. El primer bloque aritmtico-lgico que vamos a ver es el bloque sumador. Un bloque sumador es aquel que realiza la suma aritmtica de dos nmeros, como su propio nombre indica.

TEMA V.- DISEO MSI (MEDIUM SCALE INTEGRATION).

73

Entrada Proceso 1

Decisin Proceso 1 Decisin Proceso 1

Proceso 1 Salida Figura 5.2.- Esquema genrico de un diagrama de ujo.

No obstante, como en los nmeros reales, una resta es la suma de un nmero con otro negativo, los bloques sumadores suelen tener la funcionalidad de realizar la resta, denominndose generalmente sumador-restador. La implementacin de un sumador de dos nmeros de n bits no es nica, sino que existen multitud de ellas. No obstante, todas (o la mayora) se pueden agrupar en: Implementacin serie: en la que todos los datos de salida no se obtienen de forma simultnea. Implementacin paralela: en la que todos las seales de salida se obtienen de forma cuasi simultnea, de tal forma que no es necesario hallar una seal de salida para despus obtener el siguiente. La experiencia ha constatado que la forma serie es ms efectiva en determinados casos. Esta forma se basa en los denominados sumadores completos, sumadores de tres bits (un bit del primer dato, un bit del segundo dato y el acarreo de la suboperacin anterior). ste tendr como salidas, la salida suma y la salida acarreo. Su tabla de verdad es la mostrada en la gura 5.3. Por lo tanto un bloque sumador de 4 bits construido con sumadores completos podra estar formado de la forma mostrada en la gura 5.4. No obstante, adems de esta posible implementacin, existen otras muchas. La diferencia entre ellas suele radicar principalmente en la generacin del acarreo de salida, ya sea de forma serie (como el mostrado) o de forma paralela. Al aumentar los avances tecnolgicos, se han creado bloques de sumadores de cuatro bits, siendo stos ltimos los bloques ms empleados en el diseo MSI. Tanto el smbolo como

74

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

Cin 0 1 0 1 0 1 0 1

0 1 1 0 1 0 0 1

Cout 0 0 0 1 0 1 1 1

= A B Cin Cout = AB + (A+B)Cin

A B Cin Cout

Figura 5.3.- Tabla de verdad y smbolo correspondiente al sumador completo.

A0 B0 0

A B

A1 B1

A B

A2 B2

A B

A3 B3

A B

Cin Cout

Cin Cout

Cin Cout

Cin Cout

3 4

Figura 5.4.- Conexin en cascada de sumadores completos. la funcionalidad del bloque sumador de 4 bits, es la misma que el de 1 bit, pero en las seales de datos y de salida en lugar de ir 1 bit, va un bus de 4 bits. Para el caso de la resta, podemos operar de dos formas (como ya vimos): generar un bloque restador o utilizar un bloque sumador con el complemento a dos del sustraendo. Para el caso de implementar el bloque restador, nos basaremos en la resta de tres bits. Tanto su tabla de verdad como una de sus frmulas logicas se muestran en la gura 5.5. Como vemos, el bloque restador solamente se diferencia del sumador completo en que una entrada (el minuendo) en el desbordamiento viene complementada. Por lo tanto, si se aade una nueva seal que determine la operacin a realizar (suma o resta), la frmula correspondiente al bloque sumador-restador sera: S = A B Cin Cout = BCin + (A sel)(B + Cin) El problema de esta implementacin radica en la representacin de los nmeros negativos. La representacin del sustraendo est hecha en binario convencional (el nmero negativo se determina nicamente por el bit de signo, siendo el resto la magnitud), mientras que el resultado (si es negativo) se representa en complemento a dos ms un bit de signo. Por lo tanto, para

TEMA V.- DISEO MSI (MEDIUM SCALE INTEGRATION).

75

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

Oin 0 1 0 1 0 1 0 1

R 0 1 1 0 1 0 0 1

Oout 0 1 1 1 0 0 0 1
Oin Oout R = A B Oin Oout = AB + (A+B)Oin B A R

Figura 5.5.- Tabla de verdad y smbolo de un bloque restador de tres bits. igualar la representacin hay que obtener un bloque de generacin de complemento a dos. Este bloque invierte el nmero, bit a bit, y le suma 1.
2A i

= Ai Ci-1

Ci = Ai + Ci-1 Otro problema, siendo el principal, es que este circuito slo es vlido para nmeros naturales ya que no es conmutativo como debe ocurrir en el caso de los nmeros enteros. Debido a estas razones, se suele utilizar siempre la representacin del complemento a dos ms el bit de signo para los nmeros negativos. De esta forma, la resta quedara limitada a la suma con el complemento a dos. Por lo tanto, el bloque sumador-restador para nmeros de 3 bits, por ejemplo, quedara de la forma mostrada en la gura 5.6. La forma de operacin del bloque sumador-restador es la siguiente: Cuando la seal S/R se encuentra a nivel 0, la operacin que realizar ser la suma. En este caso, y como x 0 = x, a la entrada B del bloque sumador le entrar el dato B y el acarreo de entrada ser 0. = A + B + 0 = A + B En cambio,cuando dicha seal de control vale 1, a la entrada B estar conectado el complemento de la seal B y al acarreo de entrada entrar un 1. = A + B + 1 = A - B 2.2. Bloques comparadores. Los comparadores son los circuitos que generan las seales para decidir entre un camino de datos u otro. Por lo general, estos bloques suelen tener tres salidas que determinan si las entradas son iguales (A=B), si la entrada A es mayor que B (A>B), o si la entrada A es menor que B (A<B).

76

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

S/R

B1 B2 B3 BSB A1 A2 A3 BSA

B A

1 2 3 BS

Cin

Cout

Figura 5.6.- Circuito de un bloque sumador-restador. Como no se van a tener comparadores de todas las longitudes de bits, es necesario poder generar un comparador de m bits a partir de otros de n bit. Para poder conectar varios comparadores, y formar uno con mayor nmero de bits, tambin suelen tener tres entradas especiales que nos indican el estado de los bits menos signicativos (=,<,>). Estas tres entradas deben ser tales que slo y slo una de ellas debe ser 1 y ninguna otra combinacin se puede dar por lo que la trataremos como inespecicaciones. Para el caso de que se empiece, la entrada = se colocar a nivel alto (suponiendo que antes de conocer los datos a comparar, ambos se considerarn iguales). La tabla de combinaciones de este bloque se muestra en la tabla 5.1. A 0 0 1 1 0 0 1 1 0 0 1 1 B 0 1 0 1 0 1 0 1 0 1 0 1 = 1 1 1 1 0 0 0 0 0 0 0 0 < 0 0 0 0 1 1 1 1 0 0 0 0 > 0 0 0 0 0 0 0 0 1 1 1 1 A=B 1 0 0 1 0 0 0 0 0 0 0 0 A<B 0 1 0 0 1 1 0 1 0 1 0 0 A>B 0 0 1 0 0 0 1 0 1 0 1 1 -

Resto de combinaciones

Tabla 5.1. Tabla de verdad de un bloque comparador de un bit.

TEMA V.- DISEO MSI (MEDIUM SCALE INTEGRATION). Por lo tanto, las ecuaciones lgicas que gobiernan este comportamiento pueden ser: (A=B) = (a'b + ab')'(a=b) (A<B) = (a<b)(ab')' + a'b (A>B) = (a>b)(a'b)' + ab'

77

Un posible esquema de un comparador de un bit, con posibilidad de ampliacin se muestra en la gura 5.7.
a<b A<B a A=B

a=b b

A>B a>b

Figura 5.7.- Una posible implementacin de un comparador de un bit. El problema de esta implementacin es que tiene un retraso equivalente alto, de tres puertas por cada bit comparado. Por lo tanto, los bloques suelen construirse de ms de un bit, generalmente cuatro. La conexin en cascada de varios comparadores se realizara uniendo las salidas de un comparador con las entradas de comparacin del siguiente, mientras que las salidas del comparador global sern las salidas del ltimo comparador. A modo de ejemplo mostramos un comparador de 12 bits implementado con comparadores de 4 bits. Para ello necesitamos 3 comparadores (12/4 = 3). Es interesante ver que las entradas de comparacin del primer comparador deben ser tales que suponga que al principio (antes de operar con ningn valor) la comparacin debe dar que ambos operandos sean iguales. Esta conexin se puede apreciar en la gura 5.8.
A0-3 B0-3 A4-7 B4-7 A8-11 B8-11

A B

A B

A B

0 1 0

a<b a=b a>b

A<B A=B A>B

a<b a=b a>b

A<B A=B A>B

a<b a=b a>b

A<B A=B A>B

A<B A=B A>B

Figura 5.8.- Conexin en cascada de bloques comparadores.

78

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

2.3. Unidades aritmtico-lgicas (ALU). En este bloque, se trata de llevar al extremo la funcionalidad multiple del bloque. Se trata de un bloque que realiza varias funciones, tanto aritmticas como lgicas, en funcin de unas seales de control. El smbolo de una ALU tpica de 4 bits se muestra en la gura 5.9.
5 CP CG CO A=B 4 4

M(0-4) CI

A B

Figura 5.9.- Smbolo de un ALU de cuatro bit. La seal M selecciona una operacin entre las 32 (25) posibles para este caso. Las seales CP y CG son necesarias para obtener la seal de acarreo adelantado, CO es la seal de acarreo de salida y (A=B) genera una salida de igualdad. Una tabla de operaciones tpicas se muestra en la tabla 5.2. M(0) = 0 R=A R=A+B R = A' B R = -1 R = A ms A'B R = (A+B) ms A'B R = A menos B menos 1 R = AB' menos 1 R= A ms AB R = A ms B R = (A+B') ms AB R = AB menos 1 R = A ms A desplazado R = (A+B) ms A R = (A+B') ms A R = A menos 1 M(0) = 1 R = A' R = (A + B)' R = A' B R=0 R = (A B)' R = B' R=A+B R = AB' R = A' + B R = (A + B)' R=B R=AB R=1 R = A + B' R=A*B R=A

Tabla 5.2. Tabla de operaciones tpicas de una ALU(donde las operaciones denominadas con letras son aritmticas, y las designadas con smbolos son lgicas).

TEMA V.- DISEO MSI (MEDIUM SCALE INTEGRATION).

79

3. Bloques de camino de datos.


Una vez que hemos visto los principales bloques que procesan los datos, el siguiente paso ser ver los bloques que dirigen las diferentes seales por el camino deseado, es decir, los bloques de camino de dato. En este caso podemos encontrarnos con dos casos bien diferenciados: Exista una bifurcacin o una unin de varios caminos. Luego debe existir unas seales (que probablemente vendrn de un comparador) que indique los caminos que se deben conectar. Exista un solo camino, pero tan largo que se produzcan fallos de transmisin. Debido a la no idealidad de los dispositivos (incluidos los cables), un cable tendr una resistencia y un condensador parsito asociado cuyos valores van a depender de la longitud. Por lo tanto, si el cable es excesivamente largo (estos dispositivos parsitos tendrn valores relativamente grandes) el valor lgico se puede atenuar lo suciente como para que el valor lgico de un extremo del cable sea diferente al del otro extremo, como se puede ver en la gura 5.10.
Valor lgico

Figura 5.10.- Degradacin de la seal lgica a travs de una conexin real.

Dentro de estos bloques apropiados para la primera situacin se pueden destacar los demultiplexores, multiplexores; mientras que para la segunda situacin se pueden destacar los bufferes o drivers y transceptores. 3.1. Demultiplexores. Las bifurcaciones son implementadas por los denominados demultiplexores. Un circuito de este tipo presenta un canal de entrada de informacin, n seales de seleccin y m (2n) canales de salida de informacin. La denominacin de estos dispositivos es la siguiente: DEMUX n:m donde n son el nmero de bits que tiene como entrada (ya que el canal de entrada puede ser un bus que coincidir con la anchura de cada canal de salida) y m son los diferentes canales de salida tal que m = 2s (donde s es el nmero de bits de seleccin. Un smbolo demultiplexor 1:4 se muestra en la gura 5.11. La operacin de este dispositivo es la siguiente. Las seales S seleccionan uno de los canales de salida, segn su combinacin binaria. Luego se conecta el canal de entrada con el canal de salida seleccionado. Los restantes canales de salida se conectan a un valor jo bien denido, caracterstica de cada demultiplexor. Una posible tabla de combinaciones de un

80

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Q0 Q1 A Q2 Q3 S0 S1 0 1

0 1 A 2 3

Q0 Q1 Q2 Q3

Figura 5.11.- Esquema de un demultiplexor a nivel de conmutadores y su smbolo tradicional. demultiplexor se muestra en la tabla 5.3, la cual corresponde a un demultiplexor 1:4 (ya que tiene una entrada y cuatro salidas). A 0 0 0 0 1 1 1 1 S1 0 0 1 1 0 0 1 1 S0 0 1 0 1 0 1 0 1 Q0 0 0 0 0 1 0 0 0 Q1 0 0 0 0 0 1 0 0 Q2 0 0 0 0 0 0 1 0 Q3 0 0 0 0 0 0 0 1

Tabla 5.3. Tabla de verdad de un demultiplexor. La implementacin lgica de este demultiplexor puede ser la mostrada en la gura 5.12.

Q3

Q2

Q1 A S1 S0

Q0

Figura 5.12.- Posible implementacin de un DEMUX 1:4.

TEMA V.- DISEO MSI (MEDIUM SCALE INTEGRATION). 3.2. Multiplexores.

81

Los multiplexores son los dispositivos complementarios a los demultiplexores, es decir, implementan una unin de diferentes caminos. Un circuito de este tipo presenta un canal de salida de informacin, n seales de seleccin y m (2n) canales de entrada de informacin. La denominacin de estos dispositivos es la siguiente: MUX m:q donde m es el nmero de canales de entrada, que est intimamente relacionado con el nmero de seales de seleccin, y q es el nmero de bits correspondiente al canal de salida y por tanto a todos los canales del dispositivo. Un smbolo de este componente se muestra en la gura 5.13.
A0 A0 A1 A1 A2 Q A2 A3 2 3 10

0 1 Q

A3 S1 S0

Figura 5.13.- Esquema de un multiplexor a nivel de conmutadores y su smbolo tradicional. La operacin de este dispositivo es la siguiente. Las seales de seleccin S seleccionarn un canal de entrada, el cual ser el correspondiente a la combinacin binaria presente en estas seales. Este canal seleccionado ser conectado a la salida, mientras que el resto estarn desconectados. Una posible tabla de combinaciones de un multiplexor se muestra en la tabla 5.4, la cual corresponde a un multiplexor 4:1 (ya que tiene una salida y cuatro entradas). A0 A0 A0 A0 A0 A1 A1 A1 A1 A1 A2 A2 A2 A2 A2 A3 A3 A3 A3 A3 S1 0 0 1 1 S0 0 1 0 1 Q A0 A1 A2 A3

Tabla 5.4. Tabla de verdad de un MUX 4:1. A partir de esta tabla de verdad, podemos obtener una implementacin. La implementacin lgica de este multiplexor puede ser la mostrada en la gura 5.14, correspondiente a la frmula: Q = S1S0A0 + S1S0A1 + S1S0A2 + S1S0A3

82

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

A3

A2 Q A1

A0 S1 S0

Figura 5.14.- Posible implementacin de un MUX 4:1. Es interesante observar que la frmula anterior tiene mucha similitud con la frmula de mintrminos, donde las seales de entrada estn conectadas a las entradas de seleccin y los canales de entrada activan (con un 1) o desactivan (con un 0) los mintrminos asociados. Tambin se puede introducir una de las seales de entrada por los canales de entrada del multiplexor, reduciendo as el tamao de ste. Luego, tenemos una nueva metodologa para implementar frmulas lgicas utilizando este tipo de dispositivos. Por ejemplo, si queremos obtener la implementacin de la funcin f = m(0,1,3,5,6), podramos utilizar multiplexores de la forma mostrada en la gura 5.15.
1 0 1 2 3 4 5 6 7 0 1 2 x0 x2

F = x2x1x0 + x2x1x0 + x2x1x0 + x2x1x0 + x2x1x0

0 1 2 3 1 0 x2 x1

1 = x0 + x0 x0 x0 x0

x1

Figura 5.15.- Implementacin mediante multiplexores de frmulas lgicas.

3.3. Buffer o driver. La funcin principal de este dispositivo consiste en evitar la prdida de los valores lgicos debido a la no idealidad de las conexiones, es decir, su misin principal ser la regeneracin de las seales digitales. Su smbolo y posible implementacin es mostrado en la gura 5.16. La operacin de este dispositivo consiste en la regeneracin de la seal digital. Esta regeneracin consiste en la conexin a la fuente de polarizacin o de tierra a travs de los inverso-

TEMA V.- DISEO MSI (MEDIUM SCALE INTEGRATION).

83

Figura 5.16.- Smbolo y posible implementacin de un buffer o driver. res. Una peculiaridad de estos dispositivos (como de todos los de este grupo) es que el valor de salida tiene que ser siempre igual al de entrada. Este elemento slo es vlido para canales en los que la informacin vaya en un sentido, es decir, sea unidireccional puesto que los inversores tambin poseen esta caracterstica. Luego, para una correcta conexin, estos dispositivos deben de ser conectados cada cierta longitud de la ltima conexin. Esta longitud depende de los cables utilizados y es una especicacin que debe dar el fabricante. Dentro de estos dispositivos, existe uno de especial importancia denominado buffer triestado. En la gura 5.17 mostramos el smbolo y un posible esquema lgico de dicho elemento. Su funcionamiento es el mismo de un buffer normal cuando la seal sel est activa. sel sel

Figura 5.17.- Smbolo y posible implementacin de un buffer o driver triestado.

No obstante, cuando la seal sel est inactiva, la salida del dispositivo toma un estado denominado alta impedancia. Este estado de alta impedancia signica que no existe ninguna conexin hasta un 0 o un 1. Si dicha salida est conectada a otra seal, el valor en dicho punto ser el que coloque esa otra seal. En caso de que no exista ninguna conexin, el valor en dicho punto ser el ltimo (esta situacin tiene el problema de que cualquier interferencia externa puede producir un cambio del valor). 3.4. Transceptores. En contraposicin con los bufferes, los transceptores son los dispositivos empleados para buses bidireccionales, es decir, sistemas que permiten la transmisin de la informacin en ambos sentidos. Por lo tanto, debemos tener una seal que nos indique el sentido del ujo de la informacin en cada momento. El smbolo y una posible implementacin son mostrados en la gura 5.18. La operacin de este dispositivo es similar al anterior con la salvedad de que existe una nueva seal, de control, que indicar el sentido de la transmisin. De hecho, el transceptor est compuesto por dos buffer triestado, es decir, un buffer con la posibilidad de no conexin.

84

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

sel sel

sel Figura 5.18.- Smbolo y posible implementacin de un buffer o driver.

4. Bloques de entrada/salida.
Como ya se ha comentado, los usuarios de las aplicaciones basadas en circuitos digitales no deben conocer la teora relativa a estos circuitos en lo ms mnimo. No obstante, estos usuarios sern los que introduzcan los datos con los que realizar las operaciones y recibirn los datos de salida. Luego necesitamos acondicionar los datos que entienden los circuitos digitales (que utilizarn algn tipo de cdigo binario) y los que entienden los usuarios (como pueden ser nmeros decimales, en el caso de calculadoras; caracteres, en el caso de teclados; etc...). Dentro de estos bloques, los ms representativos son los codicadores y decodicadores. 4.1. Codicadores. Considerando en primer lugar la entrada de datos, los codicadores son los dipositivos que acondicionan los datos introducidos por el usuario para que los circuitos digitales del interior de la aplicacin los comprendan. Existen tantos codicacores como cdigos binarios y formas de expresar los datos por el usuario; no obstante slo consideraremos el cdigo binario natural, que es el ms utilizado. La denominacin de estos dispositivos es la siguiente: COD n:m donde n es el nmero de canales de entrada y m es el nmero de bits necesarios para codicar dichos canales. Un codicador es un circuito de n entradas y m salidas, tal que en la salida obtenemos el cdigo binario correspondiente al canal que ha sido activado. Para el caso del cdigo binario natural, y algunos otros, se cumple la relacin entre el nmero de entradas y de salidas que 2m = n; no obstante esta relacin no se produce en la mayora de los cdigos, siendo esta la razn de que haya que identicar los nmeros de canales de entrada y de salida. Una posible tabla de combinaciones para un decodicador de 4 a 2 ser la mostrada en la tabla 5.5. El problema de dicha implementacin est en la posible situacin de que se active ms de un canal de forma simultnea, que aunque no se debe permitir, s se tiene que considerar. Esta situacin se debe a que una sola combinacin tiene asignada ms de un valor de salida. Por ejemplo, si se presiona simultneamente las teclas A1 y A2, el cdigo ser el correspondiente a A3.

TEMA V.- DISEO MSI (MEDIUM SCALE INTEGRATION). A0 1 ---A1 -1 --A2 --1 -A3 ---1 Q1 0 0 1 1 Q0 0 1 0 1 Q1 = A2 + A3 Q0 = A1 + A3

85

Tabla 5.5. Tabla de verdad y posibles ecuaciones lgicas para un COD 4:2. Para evitar este tipo de problemas, la solucin que se le ha dado consiste en aadir un rgimen de prioridades a los diferentes canales, de tal forma que si se selecciona ms de un canal de entrada, la combinacin obtenida a la salida corresponder al canal ms prioritario. Si elegimos como canales prioritarios los de mayor peso, una posible tabla ser la mostrada en la tabla 5.6: A0 1 ---A1 0 1 --A2 0 0 1 -A3 0 0 0 1 Q1 0 0 1 1 Q0 0 1 0 1 Q1 = A2 + A3 Q0 = A1A2' + A3

Tabla 5.6. Tabla de verdad y posibles ecuaciones lgicas para un COD 4:2 con prioridad de los canales de menor peso. En este caso, al activarse A1 y A2 el cdigo corresponde a A2 debido al rgimen de prioridades elegido.. Por lo tanto, a la variedad de codicadores tambin hay que sumar la variedad de prioridades, adems de los diferentes cdigos binarios y de los cdigos utilizados por los usuraios. Todas estas caractersticas estarn disponibles en las hojas de especicaciones. 4.2. Decodicadores. Para acondicionar los datos obtenidos por el circuito lgico para la clara compresin por el usuario, tenemos el decodicador. Al igual que suceda en el caso de los codicadores, habr tantos decodicadores como cdigos binarios y formas de expresar los datos por el usuario. La denominacin de estos dispositivos es la siguiente: DECOD n:m donde n es el nmero de bits devuelto por el circuito y m es el nmero de canales. Por la misma razn que evidenciamos en los codicadores, de nuevo, en los decodicadores es necesario indicar el nmero de entradas y salidas. Los decodicadores de cdigos binarios naturales se pueden ver como demultiplexores donde el canal de entrada est conectado a un valor jo. Este hecho se muestra con la comparacin de las tablas de combinaciones de ambos dispositivos. Un decodicador es un circuito con n entradas y m (2n) salidas, tal que se activa la salida correspondiente al cdigo de entrada. En la tabla 5.7 mostramos la tabla de combinaciones de un decodicador 2:4.

86 A0 0 1 0 1 A1 0 0 1 1

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica Q0 1 0 0 0 Q1 0 1 0 0 Q2 0 0 1 0 Q3 0 0 0 1 Q0 = A1'A2' Q1 = A1A2' Q2 = A1'A2 Q3 = A1A2

Tabla 5.7. Tabla de verdad y posibles ecuaciones lgicas para un DECOD 2:4. Es interesante observar que cada una de las salidas corresponde a un mintmino de una funcin de n entradas. Este hecho nos proporciona una nueva metodologa para implementar funciones lgicas sin necesidad de minimizarlas. Por ejemplo, la implementacin de la funcin f (w, z, y, x) = m(0,2,8,10,15) utilizando decodicacores y puertas lgicas se muestra en la gura 5.19. Cualquiera de las tres implementaciones son equivalentes; la diferencia entre las
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

x y z w

1 2 4 8

x y z w

1 2 4 8

x y z w

1 2 4 8

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Figura 5.19.- Implementaciones de la funcin lgica f (w, z, y, x) = m(0,2,8,10,15) utilizando decodicadores.

TEMA V.- DISEO MSI (MEDIUM SCALE INTEGRATION).

87

dos primeras consiste en que el primer codicador es activo a nivel alto, es decir, el canal activo tomar el valor 1 mientras que el resto el valor 0, y el segundo es activo a nivel bajo. Luego la puerta lgica en los dos casos deber ser diferente: en el primero, como lo que tenemos son los 1s, stos se debern sumar; y en el segundo, como tenemos los 0, estos se tendrn que multiplicar (la negacin es debida a que al coger los 1s como 0s, estamos implementado realmente la funcin complementada). En el tercer caso usamos un decodicador activo a nivel bajo, conectando los 0s de la funcin (eligiendo su expresin como producto de maxtrminos, de ah que no haya que complementarla). Estos decodicadores son tiles cuando queremos mostrar las salidas en un led, por ejemplo. No obstante cuando se trata de nmeros se utilizan los decodicadores de 7 segmentos que suelen estar unidos a un display en el que aparecer la forma del nmero decimal. Estos decodicadores muestran del 0 al 9, mientras que el resto de dgitos puede variar segn el tipo de decodicador. Los nmeros aparecern con la forma mostrada en la gura 5.20.

2 1 4 0 3

5 6

Figura 5.20.- Base y caracteres del decodicador y display de 7 segmentos. La tabla de combinaciones correspondiente este decodicador es la tabla 5.8. De tal forma que el segmento que toma el valor 1 se ilumina, mientras que el que toma el valor 0 permanece apagado, formando los dgitos decimales. Lo mismo que encontramos el display de 7 segmentos, existen otro display que no slo dibujan nmeros sino que incluyen letras y otros caracteres especiales.

5. Aumento de tamao de dispositivos MSI.


Un punto importante es la generacin de dispositivos MSI de mayor tamao a partir de otros de menor tamao, ya que por lo general no vamos a tener dispositivos de todos los tamaos posibles sino de unos tamaos estandares. La interconexin de los bloques de procesado ya ha sido considerada anteriormente, por lo que no lo vamos a repetir. Slamente notar que este aumento ser a travs de la conexin de los acarreos de entrada y salida o de las seales dispuestas para ello. Para el resto de los dispositivos susceptibles de aumentar su tamao se hace uso de la seal de habilitacin. En estos dispositivos no incluiremos los bufferes ni los transceptores ya que al tener una sola entrada y una sola salida, el tamao aumentar utilizando el nmero de bufferes y transceptores necesarios.

88 B3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Q6 1 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 Q5 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 0 Q4 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 Q3 1 1 1 1 1 0 0 1 1 1 0 0 1 0 0 0 Q2 1 0 1 1 0 1 1 1 1 1 0 0 0 1 0 0 Q1 1 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 Q0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0

Tabla 5.8. Tabla de verdad del decodicador de 7 segmentos. Para el caso del demultiplexor, si queremos implementar un demultiplexor de M canales de salida a partir de demultiplexores de N canales de salida, necesitaremos M/N demultiplexores (siempre el entero mayor). Las seales de seleccin de los demultiplexores sern aquellas de menos peso, mientras que el resto estarn conectadas a un decodicador. Las salidas de este decodicador (que correspondern a las combinaciones de las seales de seleccin de ms peso) irn conectadas a las seales de habilitacin de los demultiplexores correspondientes. Debemos notar que si la entrada de seleccin est negada, el decodicador que debemos utilizar debe ser activo a nivel bajo. Esta implementacin es mostrada en la gura 5.21. Si el aumento de canales es el doble, y por lo tanto slo necesitamos dos demultiplexores, el decodicador es sustituido por un cable y un inversor (que realmente forma un DECOD 2:1). El caso del multiplexor es similar al del demultiplexor. La nica diferencia entre ambos elementos consiste en que la salida cuando el bloque no est seleccionado es un valor de alta impedancia o no conectado; mientras que en el demultiplexor, es el valor jo de no seleccin. Este hecho, el valor de alta impedancia permite la unin directa de todas sus salidas. En el caso de no soportar el valor de alta impedancia, las salidas habr que unirlas con puertas OR (si el valor de salida de no conexin es 0) o puertas AND (si el valor de salida de no conexin es 1). En la gura 5.21 mostramos uno de estos ltimos casos. El caso del decodicador es similar al del demultiplexor debido a su similitud. Por lo tanto, se siguen los mismo pasos que en dicho caso.

TEMA V.- DISEO MSI (MEDIUM SCALE INTEGRATION).

89

CS0 1 2 3 01 S0S1

Q12 Q13 Q14 Q15

A12 A13 A14 A15

0 CS 1 2 3 10 S1S0

S3 S2

2 1

3 2 1 0

CS0 1 2 3 01 S0S1

Q8 Q9 Q10 Q11 S3 S2 2 1

3 2 1 0

A8 A9 A10 A11

0 CS 1 2 3 10 S1 S0 F

CS0 1 2 3 01 S0S1

Q4 Q5 Q6 Q7

A4 A5 A6 A7

0 CS 1 2 3 10 S1 S0

CS0 1 2 3 01 S0S1

Q0 Q1 Q2 Q3

A0 A1 A2 A3

0 CS 1 2 3 10 S1 S0

Figura 5.21.- Aumento del nmero de canales de salida de un demultiplexor y un multiplexor. Para la unin de los codicadores se hacen necesrias una serie de seales adicionales que no suelen estar presentes en los dispositivos estndares. Entre estas seales podemos encontrar las siguientes: Seal que determine si el codicador est habilitado y se ha seleccionado un canal de entrada. Seal que determine si el codicador est habilitado y no se ha seleccionado un canal de entrada.

90

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

6. Implementacin de un sistema
Una vez que ya conocemos los dispositivos MSI ms usuales, el sisguiente paso consiste en obtener una metodologa para la implementacin de sistemas con este tipo de dispositivos. Ya hemos visto varias metodologas (utilizando multiplexores y decodicadores) para implementar frmulas lgicas; no obstante, en este apartado nos vamos a centrar en la implementacin de sistemas complejos, cuyo paso a frmulas lgicas no sea viable. Para llevar a cabo la implementacin de un sistema, los pasos a seguir son los siguientes: Realizacin del diagrama de ujo que modele el sistema que se desea implementar. Determinacin de los elementos necesarios para la implementacin de dicho diagrama. Conexin de los diferentes elementos Vamos a ilustrar este proceso con un ejemplo: Se desea implementar un sistema que devuelva el valor absoluto de la resta de dos nmeros, codicados en BCD. Un posible diagrama de ujo de datos puede ser el mostrado en la gura 5.22, aunque debemos notar que no es el nico. La determinacin de un diagrama que nos conduzca a una implementacin ms ptima depende de la pericia del diseador.. Pasar a binario

A>B?

R=A-B

R=B-A

Pasar a decimal

Figura 5.22.- Diagrama de ujo del valor absoluto de la resta. El siguiente paso consiste en la determinacin de los elementos necesarios para la implementacin de dicho diagrama. Este paso suele ser directo, y para cada bloque existe un dispositivo; no obstante ser til realizar una serie de consideraciones: Ser necesario un codicador de BCD a binario natural para la entrada de datos Ser necesario un comparador para obtener el mayor de los dos operandos para que actue de sustraendo, as mismo se necesitar un multiplexor para la bifurcacin.

TEMA V.- DISEO MSI (MEDIUM SCALE INTEGRATION). Dos restadores.

91

Por ltimo, ser necesario un decodicador de binario a BCD natural para que el usuario puede entender los resultados obtenidos. El ltimo paso consiste en la conexin de los diferentes elementos necesarios para la implementacin. Esta conexin se muestra en la gura 5.23.
4
Codicador a binario

4
4

A-B
B
A

4
4 0 4 4 1

Decodicador a decimal

Codicador a binario

A-B
B

4 A 4
0 1 0

B a<b A<B a=b A=B a>b A>B

Figura 5.23.- Circuito que implementa el comportamiento del diagrama de la gura 5.22.

Un nuevo diagrama que implementa el mismo comportamiento pero de una forma ms ptima es el mostrado en la gura 5.24(a). En este ltimo diagrama, necesitaremos los siguientes bloques: Ser necesario un codicador de BCD a binario natural para la entrada de datos Ser necesario un comparador para obtener el mayor de los dos operandos para que actue de sustraendo, as mismo se necesitarn dos multiplexores para la bifurcacin de las dos entradas del restador. Un restador. Por ltimo, ser necesario un decodicador de binario a BCD natural para que el usuario puede entender los resultados obtenidos Finalmente, el circuito que implementa dicho comportamiento es el mostrado en la gura 5.24(b). Nos encontramos ante una solucin ms ptima porque el coste de los restadores es mayor que el de los multiplexores.

92

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Pasar a binario

A>B?

X=A Y=B

X=B Y=A

R=X-Y (a)

Pasar a decimal

4 0
A

Codicador a binario

4 1 4 0 4 1

4 4
4

A-B
B

Decodicador a decimal

Codicador a binario

4 A 4
0 1 0

(b)

B a<b A<B a=b A=B a>b A>B

Figura 5.24.- (a) Diagrama de ujo del valor absoluto de la resta, y (b) el circuito que lo implementa.

TEMA VI: DISEO PROGRAMABLE


Continuando con los diferentes tipos de diseo, en el presente tema vamos a introducirnos en el denominado diseo programable. Este nuevo diseo apareci gracias a los continuos avances en la tecnologa de integracin, y a la orientacin hacia nuevos dispositivos ms generales. Este tipo de diseo es aquel en el que los elementos de los que disponemos para construir nuestro circuito son dispositivos programables.

1. Introduccin.
Un dispositivo programable, genricamente PLD (Programmable Logic Device), se puede denir de la siguiente forma: Un PLD es aquel dispositivo cuya tabla de verdad puede ser modificada sin alterar el conexionado interno de los elementos que los forman. Es decir, contiene una serie de elementos lgicos (por lo general puertas AND, OR e inversores) que pueden congurarse en cualquier funcin lgica soportada (generalmente limitada al nmero de entradas y salidas). Los dispositivos programables se pueden clasicar dependiendo su funcionalidad. Estos dispositivos pueden ser: Universales.- pueden implementar cualquier funcin lgica con un determinado nmero mximo de entradas y salidas. No universales.- solamente se pueden implementar algunas funciones de inters general. Fsicamente, desde el exterior, a estos dispositivos no hay porqu hacerles nada, sino que el hecho de que implemente el comportamiento de una funcin u otra se debe a la programacin de dicho dispositivo. Generalemente, la programacin de estos dispositivos consiste en la supresin de determinadas conexiones realizadas mediante un diodo o un transistor que actan como fusibles. Los principales dispositivos programables a nivel combinacional que hay en el mercado son: memorias PROM, dispositivos PAL y dispositivos PLA.

94

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

2. Memorias PROM (Programmable Read Only Memory).


La principal caracterstica de las memorias ROM (nombre genrico) es que son memorias programables no voltiles, es decir, cuando se desconecta de la tensin de polarizacin, los datos almacenados no desaparecen, a diferencia de las memorias RAM. Bsicamente las memorias ROM se pueden clasicar 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 (pudindose borrar para volver a programar) por el usuario mediante un programador. Las memorias ROM estn formadas por una matriz de puertas AND, que generan todos los mintrminos posibles correspondientes al nmero de entradas, por lo que funcionalmente hablando equivale a un decodicador. Las salidas de estas puertas son conectadas, a travs 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 ja, y una matriz de puertas OR programable. Debido a que estn disponibles todos los mintrminos de las posibles funciones, este tipo de dispositivos entrarn dentro del tipo de dispositivos universales, ya que se puede implementar cualquier funcin con el nmero de entradas del dispositivo. La notacin de las memorias ROM es: ROM 2n x m donde n es el nmero de entradas (2n es el nmero de mintrminos implementados) y m es el nmero de salidas. De esta forma, una memoria ROM 4x2 se muestra en la gura 6.1. Al igual que suceda con los bloques MSI, estos dispositivos tienen seales de control y slo existen para un cierto nmero caracterstico de entradas y salidas. Por lo tanto deberamos saber cmo aumentar el nmero tanto de entradas como de salidas, para lo cual utilizaremos la seal de habilitacin. De forma previa a esta conexin debemos indicar que las salidas de estos dispositivos muestran una codicacin triestado, a diferencia de los dispositivos MSI. Esta codicacin tiene tres estados posibles, los cuales son: Nivel 1, que se corresponder con el 1 lgico de cualquier dispositivo digital. Este nivel aparece cuando el dispositivo est habilitado. Nivel 0, que se corresponder con el 0 lgico de cualquier dispositivo digital. Este nivel aparece cuando el dispositivo est habilitado. Nivel de alta impedancia, que es un nivel de no conexin al interior del dispositivo. Por lo tanto, el nivel que tendr dicho nodo vendr de su conexin a otro punto del circuito. Este nivel aparece cuando el dispositivo est deshabilitado. Por lo tanto, podemos tener dos salidas conectados a un mismo punto siempre y cuando nicamente una de las salidas tenga un nivel 1 u 0 y el resto se encuentren en alta impedancia (ya que indicar que realmente no estn conectadas a las salidas). En el caso de que se conectasen dos niveles diferentes (0 y 1) a un mismo nodo, en dicho nodo aparecera un divisor de ten-

TEMA VI: DISEO PROGRAMABLE

95

A B

Matriz AND ja

F1(A,B)

Matriz OR programable F2(A,B)

Figura 6.1.- Esquema e una memoria ROM a nivel de circuito.

sin; por lo que en dicho nodo no existira nign valor lgico denido, ya que estara el nivel de tensin (1+0)/2. Luego, la conexin de las memorias deber ser como sigue. Para aumentar el nmero de salidas debemos conectar varias memorias en paralelo, es decir, seleccionadas simultneamente. Esta simultaneidad no est reida con lo dicho anteriormente, ya que estas salidas no se van a conectar por ser diferentes. Adems las entradas de estos dispositivos, conectados en paralelo, deben ser las mismas para seleccionar la misma combincacin en todos ellos. Para aumentar el nmero de entradas vmos a diferenciar dos tipos de entradas: un grupo de entradas que seleccionan la combinacin dentro del dispositivo; y otro grupo que selecciona el dispositivo que debe actuar. El primer grupo de entradas estarn conectadas a los dispositivos PROM que tengamos. Mientras que el segundo grupo estar conectado a un decodicador (que nos proporciona una combinacin) y slo habilita (selecciona) un nico dispositivo. Por lo tanto, todas las salidas podrn estar conectadas entre s, ya que un solo dispositivo estar habilitado mientras los dems estarn en alta impedancia. Para aumentar los dos parmetros de forma simultnea, nicamente hay que combinar las dos tcnicas anteriores. Para ello, primero aumentaremos el nmero de salidas con tantos dispositivos como sean necesarios conectados en paralelo; para despus conectar tantas las como sean necesarias conectadas en serie (a travs de un decodicador). Por ejemplo, en la gura 6.2 mostramos un dispositivo de 2n+p x (mq) a partir de mdulos ROM 2n x m.

96

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

n A0...An-1 CS D0...Dm-1 m Q CS

n A0...An-1 D0...Dm-1 m

0 1
n n Q CS A0...An-1 D0...Dm-1 m

p
CS

A0...An-1 D0...Dm-1 m

2p-1

2p-3

2p-3

n A0...An-1 CS D0...Dm-1 m Q CS

n A0...An-1 D0...Dm-1 m

Figura 6.2.- Aumento del nmero de entradas y salidas de una memoria ROM.

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 suceda con las memorias ROM, estos dispositivos se basan en una implementacin en dos niveles en forma de suma de produtos. Los dispositivos PAL estn formados por una matriz de puertas AND programables (podemos decidir cules sern las entradas a estas puertas) y una matriz ja de puertas OR. Entre las principales caractersticas de estos dispositivos, podemos encontrar las siguientes (que sern caractersticas de funcionamiento y limitaciones):

TEMA VI: DISEO PROGRAMABLE

97

Al tener una matriz de puertas OR jas, las entradas a estas puertas OR deben ser independientes. Por lo tanto, un trmino producto slo puede estar conectada a una sola salida, a diferencia de las memorias ROM. Una de las principales limitaciones de estos dispositivos (y la razn por la que no son universales) es el nmero de trminos producto. Una decisin que hay que tomar es el nmero de entradas de los trminos suma. El nmero de estas entradas suele cumplir la siguiente relacin: si tenemos n trminos producto y m salida, cada trmino suma tiene n/m entradas. Por lo tanto, todas las salidas tendrn el mismo nmero de trminos productos. La notacin de una PAL suele incluir el nmero de entradas, su nmero de trminos productos y su nmero de salidas, de la forma: PAL(n x q x m) Donde n es el nmero de entradas, q es el nmero de trminos productos y m es el nmero de salidas. En la gura 6.3 mostramos un posible esquema correspondiente a una PAL(2x4x2).
A B A B

Lneas AND

F1 F2 Lneas OR

F1 F2

Figura 6.3.- Esquema a nivel de circuito de un dispositivo PAL.

Al igual que suceda con las memorias ROM, estos dispositivos pueden ser insucientes en nmero de entradas y/o en nmero de salidas; a lo que hay que aadirle su nueva limitacin, es decir, el nmero de trminos producto. La ampliacin de los mdulos PAL en estos casos se trata de la misma forma que las memorias ROM, es decir, Para aumentar el nmero de salidas, se conectan en paralelo varias PAL's con las mismas entradas. Para aumentar el nmero de entradas, se conectan varias PAL's mediante un decodicador, que tendr como entradas aquellas que se desean aadir.

98

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica Para aumentar el nmero de trminos producto, las salidas de varios mdulos PAL se conectan a travs de una puerta OR (aprovechando la propiedad asociativa de dicha operacin).

As, si se quiere obtener un mdulo PAL (n x 2q x m) a partir de mdulos PAL (n x q x m), el esquema sera el mostrado en la gura 6.4.
PAL(NxQxM) n F1 F1 Fm

PAL(NxQxM) n F1 Fm Fm

Figura 6.4.- Aumento del nmero de trminos producto en un dispositivo PAL.

En la gura 6.5 mostramos la representacin de una PAL en las hojas de especicaciones de un fabricante. Podemos apreciar que se trata de una representacin similar a la mostrada en la gura 6.3. Podemos apreciar las lneas producto, que sern las lneas horizontales conectadas a las puertas AND, con un nmero igual a 56 (7 lneas producto por cada salida). Tambin podemos observar como reducir el tamao del esquema comparitnedo una misma la de entradas para dos de ellas. Tambin podemos apreciar que existen una serie de patillas que pueden ser conguradas como entrada o como salida (desde la patilla 13 a la 18), a travs 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 unin de las memorias ROM y los dispositivos PAL, en el sentido de que pueden programarse tanto la matriz de puertas AND como la matriz de puertas OR. La denominacin es semejante a la de los dispositivos PAL: PLA (NxQxM) donde N es el nmero de entradas, Q es el nmero de trminos productos y M es el nmero de salidas. En este caso y a diferencia de los mdulos PAL, todos los trminos suma tienen la posibilidad de estar conectados (si fuese necesario) a todos los trminos producto. En la gura 6.6 mostramos un dispositivo PLA(2x4x2).

TEMA VI: DISEO PROGRAMABLE

99

Figura 6.5.- Representacin de una PAL en las hojas de especicaciones de un fabricante.

100

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

A B
A B

Lneas AND

F1 F2 Lneas OR

F1

F2

Figura 6.6.- Esquema a nivel de circuito de un dispositivo PLA.

La diferencia del smbolo con respecto al del dispositivo PAL consiste en que las conexiones de los trminos suma no son ja y se identican de otro modo, como veremos posteriormente. Las ampliaciones del nmero de entradas, salidas y/o productos AND se realiza de igual forma que en el caso de los mdulos PAL.

5. Diseo mediante dispositivos programables.


La implementacin de una funcin lgica en un dispositivo programable consiste en la programacin de ste, es decir, en la fusin de los fusibles adecuados. No obstante, de forma previa a la programacin, se debe generar la frmula lgica que va a formar el circuito. La forma de dicha frmula va a depender del dispositivo que vayamos a programar. En el caso de las memorias ROM, la frmula deber estar en su expresin cannica disyuntiva, es decir, como suma de mintrminos. Este hecho viene motivado debido a que disponemos todos los mintrminos, y en la programacin hay que indicar cules de los mintrminos tienen que entrar en la puerta OR. En el caso de los mdulos PAL, la frmula deber ser minimizada como suma de productos para ocupar el nmero mnimo de puertas AND (principal limitacin en este tipo de dispositivos). En cambio, esta frmula mnima deber ser tratando cada salida como una funcin independiente, ya que no se puede compartir un mismo trmino producto en varias puertas OR. Por lo tanto, no se podr minimizar empleando el mtodo de McCluskey.

TEMA VI: DISEO PROGRAMABLE

101

En el caso de los mdulos PLA, al igual que ocurra con los mdulos PAL, la frmula deber ser minimizada para ocupar el nmero mnimo de puertas AND. No obstante, y a diferencia de los mdulos anteriores, la funcin 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 minimizacin deber ser realizada a travs del mtodo de McCluskey. Todo lo anterior se encuentra esquematizado en la tabla 1.1.
Dispositivo Memoria ROM Dispostivo PAL Dispositivo PLA Matriz AND Fija y compartida Programable Programable y compartida Matriz OR Programable Fija e independiente Programable Tipo de frmula Suma de mintrminos Suma de productos mnima con salidas independientes Suma de productos mnima de funcin multisalida

Tabla 1.1. Resumen de los dispositivos programables

6. Ejemplo.
Por ejemplo, vamos a implementar una funcin lgica con estos dispositivos, adems de indicar los requerimientos mnimos para cada uno de los dispositivos. La funcin a implementar tendr dos salidas, mostradas a continuacin: F1(A,B,C) = m(1,3,7) F2(A,B,C) = m(2,6,7) Para esta funcin 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 vendrn dados por el nmero de entradas y de salidas. Por lo tanto, necesitaremos como mnimo un mdulo ROM(8x2), obteniendo el esquema mostrado en la gura 6.7. Debido al hecho de que la funcionalidad de la matriz de puertas AND es la misma que un decodicador, vamos a utilizar su representacin para obtener una representacin ms clara. Otra cuestin importante es el orden de las seales de entrada, ya que si se vara, el orden de los mintrminos tambin vara.

6.2. Dispositivos PAL.


En el caso de estos dispositivos, los requerimientos mnimos vendrn dados por el nmero de entradas, salidas, trminos productos y de entradas de los trminos suma. Por lo tanto, hasta que no hayamos hallado la frmula mnima no podremos dar los requerimientos mnimos.

102

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

0 1 C B A 1 2 4 2 3 4 5 6 7
Figura 6.7.- Diseo de la funcin con salidas F1(A,B,C) = m(1,3,7) y F2(A,B,C) = m(2,6,7) mediante memorias ROM.

F1

F2

La implementacin mnima se debe realizar tomando las salidas por separado. Utilizando el mtodo del mapa, obtenemos las frmulas de la gura 6.8.
F1 C 0 1 AB 00 0 1 01 0 1 11 0 1 10 0 0 F2 C 0 1 AB 00 0 0 01 1 0 11 1 1 10 0 0

F1 = A'C + BC

F2 = BC' + AB

Figura 6.8.- Obtencin de las frmulas mnimas de las funciones F1(A,B,C) = m(1,3,7) y F2(A,B,C) = m(2,6,7) utilizando el mtodo del mapa.

Luego el PAL mnimo que se necesitara ser PAL(3x4x2), aunque para ilustrar que debemos tener el mismo nmero de entrada de todos los trminos suma, aunque no se utilicen, hemos empleado un PAL(3x6x2). De esta forma el dispositivo PAL quedara del modo mostrado en la gura 6.9.
A B C

F1=AC+BC F2=AB+BC

Figura 6.9.- Diseo de la funcin con salidas F1(A,B,C) = m(1,3,7) y F2(A,B,C) = m(2,6,7) mediante dispositivos PAL.

TEMA VI: DISEO PROGRAMABLE

103

6.3. Dispositivos PLA.


Al igual que suceda con el dispositivo PAL, debemos obtener primero la frmula antes de poder especicar los requerimientos mnimos. Por lo tanto, empezaremos por la obtencin de la frmula mnima, mostrada en la gura 6.10. Luego, las frmulas mnimas son: F1 = A'C + ABC F2 = BC' + ABC
F1 AB C 00 0 1 0 1 01 0 1 11 0 1 10 0 0 F2 AB C 00 0 1 0 0 F1F2 01 1 0 11 1 1 10 0 0 C 0 1 AB 00 0 0 01 0 0 11 0 1 10 0 0

I4 = AC I5 = BC

I2 = BC I3 = AB F1 1 3 X X X X X X X 7 2 F2 6

I1 = ABC

A'C BC BC' AB ABC

X X

Figura 6.10.- Obtencin de las frmulas mnimas de la funcin con salidas F1(A,B,C)= m(1,3,7) y F2(A,B,C)= m(2,6,7).

Por lo tanto, el dispositivo mnimo debe ser PLA(3x3x2). Aunque para hacer una comparacin con el dispositivo PAL utilizado en el caso anterior, vamos a utilizar un dispositivo PLA con las mismas caractersticas, es decir, PLA(3x6x2). De esta forma el dispositivo PAL quedara del modo mostrado en la gura 6.11.
A B C

F1=AC+ABC F2=ABC+BC Figura 6.11.- Diseo de la funcin con salidas F1(A,B,C)= m(1,3,7) y F2(A,B,C)= m(2,6,7) mediante dispositivos PLA.

104

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

De la comparacin entre la solucin mediante dispositivos PAL y PLA podemos concluir que la utilizacin de un dispositivo PLA tendr ms ventaja cuantos ms trminos producto se compartan entre las diferentes salidas. Si ningn trmino producto se compartiese, ambas soluciones seran iguales, exceptuando que los trminos sumas no deberan tener el mismo nmero de entradas.

TEMA VII.- FAMILIAS LGICAS


Una vez que hemos visto la manera de analizar y disear sistemas lgicos a partir de circuitos lgicos combinacionales, el siguiente paso es estudiar cmo podemos construir las puertas bsicas 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 ms, el principio de la Electrnica Digital empez con el descubrimiento de los rels y tubos de vacos. Cuando el diseador implementa las puertas (a medida) que necesita para su diseo, se dice que ha realizado un diseo full-custom. Estas puertas estarn diseadas utilizando elementos de circuitos, principalmente transistores. En este diseo no nos tenemos que limitar a utilizar las puertas tpicas, sino que podemos crear las puertas lgicas que necesitemos. Un ejemplo de puerta que no suele estar disponible es la que tiene como frmula: F = AB + C A partir de los transistores, podemos crear una puerta lgica que tenga dicha funcionalidad, sin tener que utilizar una puerta AND y una puerta OR.

1. Introduccin.
A la hora de construir las puertas lgicas, un criterio ampliamente seguido (realmente en cualquier disciplina, no slo en Electrnica) es el criterio de uniformidad, es decir, las diferencias entre las diferentes puertas lgicas deben reducirse a las mnimas. Este criterio es la base de la denicin de familia lgica, Una familia lgica se puede definir como la estructura bsica a partir de la cual se pueden construir las puertas lgicas. En esta estructura estarn 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 parmetros van a depender de stos. Al centrarnos en Electrnica Digital, no debemos perder de vista que las seales slo pueden tomar dos valores diferentes. Por lo tanto, los elementos principales de estas familias lgicas deben tener como mnimo dos regiones de operacin bien diferenciadas. Esta situacin nos lleva a la utilizacin de dispositivos semiconductores, aunque en los principios se utilizaron vlvulas y conmutadores electrcos (que presentaban un comportamiento similar).

106

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Una posible clasicacin de estas familias, segn los dispositivos semiconductores en los que se basan, es: Familias bipolares.- emplean transistores bipolares y diodos, es decir, dispositivos de unin. Las familias bipolares ms representativas son las familias TTL y ECL. Familias MOS.- emplean transistores MOSFET, es decir, transistores de efecto campo. La familias MOS ms representativas son las familias NMOS y CMOS. Cada una de estas familias van a tener una serie de parmetros cuyos valores van a ser ms o menos jos. Los principales parmetros de las familias lgicas son: Parmetros temporales (gura 7.1). Retraso de propagacin de bajo a alto, tPLH.- tiempo transcurrido desde que la seal de entrada baja (pasa por el 50%) hasta que la seal de salida sube (pasa por el 50%). Retraso de propagacin de alto a bajo, tPHL.- tiempo transcurrido desde que la seal de entrada sube (pasa por el 50%) hasta que la seal 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 funcin. Retraso de propagacin.- valor medio de tPLH y tPHL. Tiempo de transicin de bajo a alto, tTLH.- tiempo transcurrido desde que la seal empieza a subir (pasa por el 10%) hasta que llega a un nivel alto (pasa por el 90%). Tiempo de transicin de alto a bajo, tTHL.- tiempo transcurrido desde que la seal empieza a bajar (pasa por el 90%) hasta que llega a un nivel bajo (pasa por el 10%). Es decir, se considera que una transicin 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

90%

90%

10%
tTLH tTHL

10%

Figura 7.1.- Esquema de los parmetros temporales.

TEMA VII.- FAMILIAS LGICAS

107

Parmetros de tensin (gura 7.2). Nivel alto de la salida (entrada), VOH (VIH).- nivel de tensin considerada como alto para la salida (entrada). Nivel bajo de la salida (entrada), VOL (VIL).- nivel de tensin considerada como alto para la salida (entrada). La forma de determinar estos parmetros es la siguiente. Para determinar el nivel de salida alto (VOH), se le aplica a la entrada la mnima tensin 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 segn corresponda. Margen de ruido del nivel alto, VNSH.- la diferencia de tensin desde el nivel alto que se puede considerar como tal. Margen de ruido del nivel bajo, VNSL.- la diferencia de tensin desde el nivel bajo que se puede considerar como tal. Estos valores se obtienen segn la diferencia de valores que podemos ver en la gura.
VOH VNSH VIH Franja indeterminada VIL VOL VNSL

Figura 7.2.- Esquema de los parmetros de tensin.

Parmetros de intensidad (gura 7.3). Fan-out.- nmero mximo de puertas que se pueden conectar a la salida sin que se degrade la seal de salida. Fain-in.- nmero mximo de puertas que se pueden conectar a la entrada sin que se degrade la operacin de la puerta lgica. Estos parmetros se han denido como de intensidad, ya que la limitacin que supone se suele ver en trminos de intensidad que piden o dan a la puerta lgica. En funcin de esta cantidad de intesidad, la puerta lgica puede dejar de funcionar como se espera (cambiando de zona de operacin), produciendo un resultado errneo. Parmetros de potencia Potencia media consumida.- Es la energia que solicita a la fuente de tensin. Este parmetro es cada da ms importante debido al auge que estn adquiriendo los sistemas sin cable. Este parmetro est intimamente relacionado con la vida de la batera de estos sitemas.

108

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

In In Out In q Out p

Out

In

Out

In

Out

Figura 7.3.- Esquema de los parmetros de intensidad.

2. Familia DL (Diode Logic)


De forma previa al estudio de las familias actuales, se va a realizar el estudio de la familia DL (Diode Logic), ya en desuso pero muy simple. Esta familia se basa en diodos, a los que se unen resistencias para evitar la destruccin de stos. Un modelo de operacin de un diodo se muestra en la gura 7.4, pudiendo distinguirse dos zona de operacin: Conduccin u ON, en la que su tensin es de V Corte u OFF, en la que la intensidad a travs 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 hacamos mencin anteriormente.
ID + VD VR OFF V ID RUPTURA ON VD

Figura 7.4.- Smbolo y caracterstica IV del diodo.

Una puerta de una sola entrada de la familia DL, junto a su modo de operacin se muestra en la gura 7.5. La operacin de esta puerta es la siguiente, pero no nos podemos olvidar de que los valores de tensin estarn entre los niveles de tierra (0 -> 0v.) y de polarizacin (1 > 5v.).

TEMA VII.- FAMILIAS LGICAS

109

F A 0 1 D OFF ON F 0 1

Figura 7.5.- Esquema y tabla de verdad de una puerta construida con lgica DL.

Cuando en la entrada tenemos un 0, la tensin que hay en el diodo ser de 0v. o menor, por lo que el diodo estar en corte. En esta situacin, la intensidad ser 0, y por lo tanto, la tensin que cae en la resistencia tambin ser 0. Luego en la salida tendremos directamente la tensin de tierra,es decir, 0v. o 0. Cuando en la entrada tenemos un 1, la tensin que ah en el diodo es positiva, por lo que estar en conduccin. En esta situacin, la tensin que cae en el diodo es la de conduccin, es decir, V. Luego en la salida tendremos VDD-V. En la tabla 7.1 mostramos los principales parmetros de tensin. En este caso los parmetros de intensidad debern tomar los valores sucientes para que el diodo no entre en su zona de ruptura.
Entrada Nivel bajo Nivel alto V VDD Salida 0 VDD - V Margen de ruido V V

Table 7.1. Parmetros de tensin tpicos de la familia lgica DL.

3. Familias bipolares.
Las familias bipolares son aquellas basadas en los transistores de unin o bipolares. Estos transistores se pueden clasicar en dos tipos, segn las uniones semiconductoras: npn y pnp. En la gura 7.6 se muestran las uniones, smbolos y su representacin como diodos. De estos dos tipos de transistores, los ms empleados son los transistores npn ya que presentan una ganacia mayor, y por lo tanto sern los ms rpidos. Debido a la aparicin de dos diodos en cada transistores, estos transistores mostrarn cuatro zonas de operacin (las combinaciones de las diferentes zonas de cada diodo). En la gura 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 circula intensidad por ninguno de sus terminales. En esta zona los dos diodos se encuentran cortados. Zona activa directa, u zona hmica. El transistor se comporta como un amplicador de intensidad desde la base hasta el colector. En este caso, el diodo base-emisor est conduciendo, mientras que el base-colector est cortado.

110

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

B C B

C B

P N

E E

C B CB E E C

N P

Figura 7.6.- Uniones, smbolos y representacin con diodos de transistores bipolares.

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 amplicacin es sustancialmente menor. Zona de saturacin. El transistor se comporta como un cortocircuito entre el colector y el emisor, que debido a las diferencias geomtricas de ambas uniones mantiene una pequea tensin. En esta zona los dos diodos se encuentran conduciendo.
VBC Z.A.I VBC=0.7V. IC=RIB SATURACIN

VCE=0.2V.

CORTE IC=IB=IE=0

Z.A.D VBE=0.7V. IC=FIB

VBE

Figura 7.7.- Zonas de operacin de los transistores bipolares.

De estas cuatro zonas, slo nos interesar que los transistores estn en dos de ellas: corte y saturacin, que son las ms parecidas a las zonas del diodo. Por lo tanto, para la correcta operacin de las puertas lgicas debemos evitar las otras zonas (activa directa y activa inversa), excepto en los casos que sean necesarias.

TEMA VII.- FAMILIAS LGICAS

111

Una vez que se ha descrito brevemente el transistor bipolar, as como sus diferentes zonas de operacin, 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 ms empleadas en la construccin 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 gura 7.8 mostramos el smbolo de este transistor, su representacin en transistores con un solo emisor y su forma de operacin:
B B E1 C E2 E2 E1 C BEi ON => BE ON Todas BEi OFF=> BE OFF

Figura 7.8.- Smbolo y forma de operacin de un transistor multiemisor.

Un esquema tpico de una puerta TTL se muestra en la gura 7.9, junto con su tabla de funcionamiento (donde tambin se indica la zona de operacin de los diferentes transistores). El funcionamiento de la puerta es el siguiente. Debido a que la intensidad de base de un transistor bipolar es muy pequea, en primera aproximacin podemos decir que es nula por lo que la base del transistor T1 siempre est conectado a polarizacin. Cuando cualquiera de las entradas se encuentra en un nivel bajo, el transistor T1 se encontrar en la regin de saturacin, ya que la unin BE est conduciendo y la unin BC siempre est directamente polarizada, lo cual provocar que la base del transistor T2 tenga una tensin de 0.4 v (0.2v de la caida entre colector y emisor y 0.2v del nivel bajo, como ya veremos). Esta situacin provoca que dicho transistor est cortado. Al estar T2 cortado, la tensin de base de T3 ser 0, lo cual implica que T3 tambin est cortado. En cambio, el transistor T4 estar en zona activa directa o en saturacin (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 unin BE est cortada y la unin BC est conduciendo. Esta situacin provoca que la tensin de base del transistor T2 sea aproximadamente de 1.4 v., llevando a dicho transistor a saturacin. 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 tensin de polarizacin. As, los niveles de tensin y mrgenes de ruido de esta familia, de forma aproximada, son los mostrados en la tabla 7.2. La obtencin de estos valores se puede desprender de la tabla de operacin de los transistores de la gura 7.9. VOL = VCE(SAT)3 = 0.2v

112

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

T4 A B T1

A 0 0 1 1

B 0 1 0 1

T1 SAT SAT SAT ZAI

T2 OFF OFF OFF SAT

T3 OFF OFF OFF SAT

T4 SAT SAT SAT ZAD

D ON ON ON OFF

F 1 1 1 0

T2

D F T3

Figura 7.9.- Esquema y tabla de verdad de una puerta lgica construida con lgica TTL.

VOH = VDD - VBE(SAT)4 - VD(ON) = 3.8 v. VIH es la tensin para que el transistor T1 salga de zona activa inversa. VIL es la tensin para que el transistor T1 salga de saturacin.
Nivel Bajo Alto Entrada 1.6 v 3.2 v. Salida 0.2 v. 3.8 v. Margen de ruido 1.4 v. 0.6 v.

Table 7.2. Parmetros de tensin de la familia lgica TTL.

En la gura 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 gura 7.10: Como pudimos ver en el primer ejemplo, la lgica de esta familia es negada, es decir, la salida siempre est complementada. Tambin podemos apreciar que la utilizacin de un transistor multiemisor genera la operacin AND de los emisores. Tambin podemos generar operaciones OR de los trminos producto. Luego, con la familia TTL slo podemos generar las siguientes estructuras: Inversores AND - inversor AND - OR - inversor Estas estructuras se muestran en la gura 7.11.

TEMA VII.- FAMILIAS LGICAS

113

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 lgica TTL.

Inversor

AND - Inversor

AND - OR - Inversor Figura 7.11.- Diferentes estrucutras posibles con la familia TTL.

3.2. Familia ECL (Emitter Coupled Logic).


La familia ECL se basa en un amplicador diferencial. Para que el retraso de esta familia sea mnimo, se impone la retriccin de que los transistores del amplicador trabajen en los lmites de Z.A.D. - corte y Z.A.D. - saturacin. Este hecho implica que la diferencia de tensin que tenga que soportar sea mnima. Esta situacin tiene tres implicaciones bsicas: niveles de tensin altos y bajos cercanos (que le proporciona una alta velocidad) incompatibilidad con otras familias lgicas disposicin de salidas diferenciales, es decir, tanto de la salida complementada como sin complementar.

114

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

El esquema de una puerta lgica ECL, junto a su tabla de comportamiento (en la que se ha incluido la zona de operacin de sus transistores y los lmites de los transistores de amplicacin), se muestran en la gura 7.12:

T3 F

RC
A T1

RC
T2 VREF

T4 F

R REE

A 0 1

T1 ZAD-OFF ZAD-SAT

T2 ZAD-SAT ZAD-OFF

T3 ZAD ZAD

T4 ZAD ZAD

F 0 1

F 1 0

Figura 7.12.- Esquema y tabla de verdad de una puerta construida con lgica ECL.

El funcionamiento de la puerta es el siguiente. Los niveles lgicos estarn alrededor de la tensin 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 tensin menor que VREF), el transistor T1 estar en el lmite de corte mientras que el T2 estar en el lmite de saturacin. Por lo tanto, toda la intensidad pasar a travs de T2. As los valores de tensin en los colectores de T1 y T2 sern Vcc y Vcc-IEERC, respectivamente. Podemos apreciar que estos valores dependen en gran medida de la intensidad, y por lo tanto el fan-out tiene una gran inuencia. Para reducir esta inuencia 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 estarn en zona activa directa suministrando la intensidad necesaria y desacoplando la funcin lgica del resto del circuito. Por lo tanto, la seal F' tendr un nivel alto (Vcc VBE(ON)), y la seal F tendr un nivel bajo (Vcc - VBE(ON) -IEERC). Cuando en la entrada existe un nivel alto, la operacin es similar cambiando el transistor T1 por el T2. As, los niveles de tensin y mrgenes 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 rales de polarizacin.

TEMA VII.- FAMILIAS LGICAS


Nivel Bajo Alto Entrada VREF - 0.3v VREF - 0.3 Salida 4.3 v. - RC(VREF-0.7)/Ree 4.3 v. Margen de ruido VREF(RC/REE +1) -4.6 -0.7RC/REE 4.6 v.- VREF

115

Table 7.3. Parmetros de tensin de la familia lgica ECL.

Para mantener las anteriores condiciones de operacin, en una sola puerta ECL nicamente se pueden implementar las siguientes operaciones: inversin/seguimiento operacin nor/or tal como podemos ver en la siguiente gura:

T3 Inversor A T1 T2 VREF

T4 Seguidor T3 NOR A T1 B T1 T2 VREF T4 OR

Figura 7.13.- Posibles estructuras que se pueden construir con la familia ECL.

4. Familias MOS.
Las familias MOS son aquellas que basan su funcionamiento en los transistores de efecto campo o MOSFET. Estos transistores se pueden clasicar en dos tipos, segn el canal utilizado: NMOS y PMOS. En la gura 7.14 se muestran su estructura y varios smbolos:
G S p n D G S G S D G S D G S D p S n p D G D n

Figura 7.14.- Representacin y smbolos de los transistores MOSFET.

116

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

El transistor MOS se puede identicar como un interruptor controlado por la tensin de puerta, VG, que determinar cuando conduce y cuando no. En la gura 7.15 describimos la operacin de estos transistores como interruptores.
vd=vdd --> vs=vdd-vth vdd vd=0 --> vs = 0 vg = 0 id = 0 vg = vdd id = 0 0 vd=0 --> vs = -vth vd=vdd --> vs=vdd

Transistor NMOS

Transistor PMOS

Figura 7.15.- Zonas de operacin de los transistores MOSFET.

Al igual que suceda con los transistores bipolares, los transistores PMOS muestran una ganancia menor que los NMOS, por lo que estos ltimos predominan en la generacin de las familias.

4.1. Familia NMOS.


La familia NMOS se basa en el empleo nicamente de transistores NMOS para obtener la funcin lgica. Un esquema de esta familia se muestra en la gura 7.16.
A T1 OFF ON 1 0 F

F A
T1

0 1

Figura 7.16.- Esquema y tabla de verdad de un puerta construida con lgica NMOS.

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 circular por el circuito ser nula y en la salida se encontrar la tensin de polarizacin, 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 acta de pull-up de la estructura. Vamos a introducir dos nuevos conceptos, que aunque no son exclusivos de las familias MOS, s son muy empleados en este tipo de circuitos.

TEMA VII.- FAMILIAS LGICAS

117

El pull-up es el dispositivo que suministra el nivel alto (conecta la tensin de polarizacin a la salida) Mientras que el pull-down (conecta la tierra). suministra el nivel bajo

Existen diferentes tipos de pull-up, como puede ser la resistencia, transistores de deplexin o transistores saturados, mostrados en la gura 7.17:

Figura 7.17.- Diferentes tipos de pull-up de la familia lgica NMOS.

En la familia NMOS se puede construir cualquier funcin arbitraria siempre y cuando se mantengan las limitaciones tecnolgicas (que suelen traducirse en la conexin en serie de un nmero mximo de transistores). Para formar cualquier funcin, las estructuras son las siguientes: la conexin en paralelo de dos transistores (o grupo de ellos) acta como una puerta OR, la conexin en serie de dos trnasistores (o grupo de ellos) acta 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 funcin. Algunos ejemplos de puertas complejas se muestran en la gura 7.18.

F = A+B A B

F = AB A B A C

F = (A+B)C

Operacin OR

Operacin AND

Operacin OR - AND

Figura 7.18.- Ejemplos de puertas lgicas NMOS.

118

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

4.2. Familia CMOS (Complementary MOS).


Esta familia basa su operacin en la utilizacin de los transistores NMOS y PMOS funcionando como interruptores, de tal forma que los transistores NMOS suministran el nivel bajo (ya que no se degrada con la tensin umbral) y los transistores PMOS suministran el nivel alto (ya que no se degrada con la tensin umbral). Una puerta construida con la familia CMOS solamente estar formada por transistores, como se muestra en la gura 7.19.

T2 A T1 F 0 1

T1 OFF ON

t2 ON OFF 1 0

Figura 7.19.- Esquema y tabla de verdad de un puerta construida con lgica CMOS.

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 polarizacin), y el transistor T1 evitar el paso de corriente por lo que no consume potencia en esttica, slo 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 consume potencia en esttica, slo en el transitorio. En el caso de la familia CMOS, al igual que en la NMOS, se puede construir cualquier frmula compleja. En el caso de los transistores NMOS, se construyen igual que en la familia NMOS, pero en los transistores PMOS es la funcin inversa. Es decir, la conexin en paralelo forma una operacin AND, mientras que la conexin en serie forma una operacin OR. Se tiene que vericar que ambas ramas (de transistores NMOS y PMOS) generan la misma funcin lgica. Este hecho implicar que el nodo de salida siempre estar conectado a un solo nivel lgico, es decir, al nodo de polarizacin (nivel alto) o al nodo de tierra (nivel bajo). En el caso de que no se cumpla dicha restriccin, podemos encontrarnos en dos situaciones diferentes: Que el nodo de salida est conectado a la tensin de polarizacin y al nodo de tierra de forma simulatnea. Esta situacin no se debe permitir nunca, ya que el valor lgico de salida sera indeterminado.

TEMA VII.- FAMILIAS LGICAS

119

Que el nodo de salida no est conectado a ningn nodo, ni a tensin de polarizacin ni a tierra. Esta situacin es problemtica porque dejaramos la salida en alta impedancia y cualquier dispositivo parsito podra alterar el valor lgico. Por lo tanto, algunos ejemplos de funciones complejas construidas en la familia CMOS se muestran en la gura 7.20.

F = AB

F = (A+B)C A F = AB A B

Figura 7.20.- Ejemplos de puertas lgicas CMOS.

5. Ejemplo.
Por ltimo, vamos a ver como sera la implementacin de una funcin utilizando las diferentes familias lgicas. La funcin elegida es la funcin exclusiva OR de dos entradas. Debido a la diferencia de operaciones que se puede implementar por cada una de las familias, las frmulas no podrn ser las mismas. Tambin debido a la salida complementada de las funciones, y para utilizar el nmero mnimo de puertas, vamos a implementar la funcin negada. De esta forma, en la salida tendremos la funcin sin negar. Las diferentes frmulas utilizadas sern las siguientes: TTL --> F = AB + AB ECL --> F = (A+B)+(A+B) NMOS --> F = AB + AB CMOS --> F = AB + AB Luego las puertas se muestran en la gura 7.21.

120

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

A B A B F

VREF

VREF

VREF

B F B A B A A B A F

Figura 7.21.- Implementacin de la funcin exclusiva-OR en las familias TTL, ECL, NMOS y CMOS respectivamente. Notar que debido a la funcin implementada, en la implementacin CMOS, la conexin en paralelo de los transistores PMOS podra eliminarse.

Enunciados de problemas

121

Problemas del Tema 1


1.1. Convertir a base decimal los siguientes nmeros: (201.2)3 (FFA.7)16 (100)5 (26.5)7 (326.5)9 1.2. Convertir a base binaria los siguientes nmeros: (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. Cul es el valor de (104)10 en la base b?

122 1.5.

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica Dado un cdigo pesado con los siguientes pesos: (120,60,20,5,1), con la siguiente expresin polinmica: 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 nmero decimal correspondiente a la palabra de cdigo (01212)* El nmero decimal correspondiente a la palabra de cdigo (10010)* La palabra de cdigo correspondiente al nmero decimal 125 La palabra de cdigo correspondiente al nmero decimal 230 La palabra de cdigo correspondiente al nmero binario (1001011)

1.6.

Dados los siguientes cdigos BCD: Dgito decimal 0 1 2 3 4 5 6 7 8 9 Se pide:

Cdigo n 1 0000000 0001101 0011011 0010110 0110001 0111100 0101010 0100111 1100100 1101001

Razonar si es un cdigo detector y/o corrector de errores (1 solo bit errneo) Detectar y/o corregir (en el caso que sea posible) las siguientes palabras de cdigo. Para ello se debe indicar la particularidad del cdigo detector utilizada para la deteccin, 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 cdigo sea corrector, se sabe que los cuatro primeros bits son bits de mensaje y el resto bit de chequeo con paridad de tres bits)

Enunciados de problemas 1.7. Repetir el ejercicio anterior con los siguientes cdigos.: Dgito decimal Cdigo n 1 Cdigo n 2 Cdigo n 3 0 1 2 3 4 5 6 7 8 9 0000001 0000111 0011111 1111111 0000010 0001110 0111110 0000100 0011100 1111100 0011110 0100110 0101101 0110011 0111000 1000111 1001100 1010010 1011001 1100001 0111101 1011101 1101101 1110101 1111001 0111110 1011110 1101110 1110110 1111010

123

Cdigo n 4 0000000 0111100 0110011 0101010 0100101 1011010 1010101 1001100 1000011 1111111

124

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Problemas del Tema 2


2.1. Usando los postulados del lgebra de Boole y los teoremas asociados, demuestre la veracidad de las siguientes igualdades: xy + x'y' + xy' = x + y' (x'z' + x'y + x'z + xy)' = xy' (x + y)(x'z' + z)(y' + xz') = x'y xy + yz + x'z = xy + x'z (x + y)(x' + z) = xz + x'y xy + yz + xz = (x + y)(y + z)(x + z) xy' + yz' + x'z = x'y + y'z + xz' 2.2. Pruebe que en un lgebra de Boole, se verican las siguientes leyes de cancelacin: Si a+b=a+c y a'+b=a'+c, entonces b = c Si a+b=a+c y ab=ac, entonces b = c 2.3. Determinar si el conjunto B={0,a,b,1} y las operaciones (+) y () denidas como: + 0 A B 1 0 A B 1 0 0 A A B B 1 1 es un lgebra de Boole. 2.4. A A 1 1 B 1 B 1 1 1 1 1 0 A B 1 0 0 0 0 0 A 0 A 0 0 B B 0 A B 1

Obtenga los complementos de las siguientes funciones, as como las tablas de combinaciones y sus frmulas cannicas disyuntivas y conjuntivas (tanto del complemento obtenido como de la funcin original): F = a + bc F = (a + b)(a'c + d) F = ab + b'c + ca'd

2.5.

Mediante los postulados y teoremas del lgebra de Boole, obtenga unas expresiones mnimas en suma de productos de las siguientes funciones. A partir de estas sumas de productos, obtenga una expresin 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)

Enunciados de problemas F = m(0,1,14,15) 2.6. Realizar las siguientes operaciones utilizando la aritmtica binaria: 12 + 30 2+4+8 12-3 (usando la resta binaria) 20-10 (usando el complemento a dos) 35 3.25 4 15.5 / 3.25

125

126

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Problemas del Tema 3


3.1. x y z (a) F Analizar de forma estacionaria y transitoria los siguientes circuitos, as como determinar los caminos crticos: x y z F (b)

x1 x2 x3 (c) x4 F

x y F (d)

X b2 a2 b1 a1 (e) x y z Y (f) F

x F y z (g) z x F y

x y z (h)

z x w (i)

F (j)

Enunciados de problemas

127

Problemas del Tema 4


4.1. Se desea disear el circuito de control de una planta de montaje encargado de la seal de aviso de evacuacin. Para ello se dispone de tres sensores: A.- sensor de incendio, B.- sensor de humedad y C.- sensor de presin Los materiales con los que se trabaja en dicha planta son tales que son inamables y slo toleran unos niveles mnimos de presin y humedad de forma conjunta (estos niveles se encuentran programados en los sensores correspondientes). El circuito a disear debe ser tal que active una seal de alarma cuando exista riesgo para los operarios de la planta. 4.2. Se desea disear un circuito de control de una mquina trituradora. En esta mquina existen dos sensores de llenado (S1 y S2), que determinan el nivel de los elementos a triturar como se muestran en la gura: S1 S2 P M1 M2

Cuando la mquina se encuentra llena del todo, tienen que entrar en funcionamiento ambos trituradores; cuando se encuentra medio lleno, slo tiene que funcionar uno de ellos; mientras que si no se detecta ningn elemento a triturar, ambos motores se han de parar. Dicha mquina tiene un mecanismo de emergencia a travs de un conmutador de trituracin, de tal forma que cuando est conectado la mquina opera segn su contenido, mientras que si est desconectado, la mquina ha de pararse independientemente de su contenido. 4.3. Se desea disear un circuito de interfaz binaria-decimal, de tal forma que se active una seal indicando la combinacin binaria que se ha introducido a la entrada. Realizar el diseo para nmeros codicados con dos bits, siendo este elemento lo que se conoce como decodicador 2:4. Se dispone de un cdigo octal codicado en binario, con un bit de paridad, para la transmisin de datos entre dos estaciones espaciales. Se desea disear un circuito que indique la presencia de un error en un solo bit. Encontrar los circuitos mnimos para las siguientes funciones de conmutacin: F1 = m0 + m4 + m5 F2 = m0 + m2 + m3 + m4 + m5 F3 = m0 + m1 + m2 F = m(0,2,4,8,10,12)

4.4.

4.5.

128

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica 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 restriccin 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. 5.2. Determinar si el conjunto formado por multipliexores forma un conjunto completo. Realizar la funcin F= M(0,2,4,6) mediante: Multiplexores 8:1 Multiplexores 4:1 Decodicadores 3:8 y puertas OR 5.3. Obtener el comportamiento del circuito mostrado a continuacin. Este comportamiento puede ser mostrado a travs de un diagrama de ujo.

0 1 2 3

x y

1 0

z1 z0

5.4.

Se dispone de un dato menor o igual a 19 y siempre positivo. Se desea construir un display decimal para su visualizacin. Para ello se dispone de los siguientes dispositivos MSI: comparadores, sumadores/restadores y display 7 segmentos con su decodicador incorporado; utilizar el nmero mnimo posible. Se desea realizar un circuito que nos indique el momento y tipo de campanadas que debe dar un reloj (no el nmero). Los tipos de campanada son tres: cuartos, medias y horas. Para ello disponemos de los minutos en un cdigo BCD natural (dos dgitos, M1 y M0, de cuatro bits). El diseo ha de ser realizado con el mnimo nmero de las puertas siguientes: comparadores de cuatro bits y puertas lgicas.

5.5.

130

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Problemas del Tema 6


6.1. Realizar los diseos de los problemas del Tema 4 mediante dispositivos PROM, PAL y PLA.

Enunciados de problemas

131

Problemas del Tema 7


7.1. Determinar la funcin lgica de los siguientes circuitos y realizarla mediante la lgica CMOS.

A B

A B

A B

A B B

A C

A B C

A B C

A B

A B C

A B C

A B

7.2.

Determinar la funcin lgica de:

B A

C A

C A

132 7.3.

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica Realizar el diseo mnimo de la funcin f = m(0,1,2,5,7) en una familia lgica CMOS. En dicha familia, no se pueden colocar ms de 2 transistores en serie de cada tipo. Repetir el problema 7.3 para una familia TTL en la que no pueden generar transistores multi-emisores con ms de 2 emisores. Repetir el problema 7.3 para una familia ECL.

7.4.

7.5.

Soluciones de problemas

133

Problemas del Tema 1


1.1. Convertir a base decimal los siguientes nmeros: (201.2)3 Para pasar a base decimal tenemos que utilizar el mtodo polinmico, por lo que: N = 2*32+0*31+1*30+2*3-1=21.667 (FFA.7)16 Como estamos en la base hexadecimal, las letras tiene un equivalente numrico (el que se utilizar en el polinomio): N = 15*162+15*161+10*160+7*16-1=4090.4375 (100)5 (26.5)7 (326.5)9 1.2. Convertir a base binaria los siguientes nmeros: (235.3)10 Para pasar a binario, debemos utilizar el mtodo iterativo, para lo cual hay que separar la parte entera de la parte decimal. La conversin de la parte entera es: 235 1 2 117 1 2 58 0

2 29 1

2 14 0

2 7 1

2 3 1

2 1 1

2 0

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 nmero binario ser: 011101011.01001 (FFA.7)16 Como no sabemos realizar las operaciones aritmticas en base hexadecimal, primero debemos pasar dicho nmero a decimal y despus a binario. El nmero deci-

134

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica mal ser: N=4090.4375. Ahora utilizamos el mtodo iterativo, esparando la parte entera de la parte decimal.

4090 2 0 2045 2 1 1022 2 511 0 1

2 255 1

2 127 1

2 63 1

2 31 1

2 12 0

2 6 0

2 3 1

2 1 1

2 0

0.4375*2=0.8750 0.8750*2=1.7500 0.7500*2=1.5000 0.5000*2=1.0000 Por lo tanto, 0110011111010.0111 (100)8 (26.5)7 (210.1)3 1.3. Convertir directamente:

el

nmero

binario

ser:

(340)8 al sistema binario Para pasar directamente a binario, la base fuente debe ser un potencia de dos. Entonces, se convierte dgito a dgito con tantos bits como dicha potencia. En este caso la potencia es 3; as 3=011, 4=100 y 0=000. De ah el nmero 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 nmero 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

Soluciones de problemas por el punto decimal). Como en este caso es la base octal, los grupos sern de tres bits, es decir, 1000110. Ahora convertimos cada grupo por separado, por lo que nmero octal ser: 1068 (1000110)2 al sistema hexadecimal (1110110)2 al sistema hexadecimal En este caso, los grupos sern de cuatro bits por estar en la base hexadecimal. De ah, los grupos sern: 1110110. Entonces el nmero hexadecimal ser: 3616 1.4.

135

Dado la siguiente igualdad: (100)10 = (400)b, determinar el valor de la base b. Cul es el valor de (104)10 en la base b? Como conocemos los valores de un nmero en decimal y en la base desconocida, podemos plantear la onversin polinmica: 100 = 4*b2+0*b1+0*b0 De dicha ecuacin podemos obtener el valor de la base, b = 5. Para pasar 104 decimal a base 5, debemos utilizar el mtodo iterativo 104 4 5 20 0 5 4 4

5 0

Por lo tanto, el nmero ser: 04045 1.5. Dado un cdigo pesado con los siguientes pesos: (120,60,20,5,1), con la siguiente expresin polinmica: 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 nmero decimal correspondiente a la palabra de cdigo (01212)* Como tenemos el polinomio de dicha base, para pasar a decimal, slo tenemos que incluir los dgitos y realizar las operaciones: N=120*0+60*1+20*2+5*1+2=107 El nmero decimal correspondiente a la palabra de cdigo (10010)* La palabra de cdigo correspondiente al nmero decimal 125 Para pasar de decimal a la nueva base debemos utilizar el mtodo iterativo. Ahora podemos actuar de dos formas diferentes. En primer lugar podemos dividir entre el mayor peso. De esta forma sabemos que el cociente es el dgito

136

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica correspondiente, y el resto ser la combinacin del resto de dgitos. Se repite este mtodo con todos los pesos de mayor a menor. 125 5 120 1 5 60 0 5 20 0 5 5 1 0 1 0

Por lo que el nmero ser: (10010)*. Este mtodo no es muy utilizado ya que, por lo general, no conocemos el mayor peso del numero. En segundo lugar, debemos encontrar una relacin 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 sern los dgitos menos signicativos: 125 0 5 25 1

4 6 0

3 2 0

2 1 1

1 0

Por lo tanto, el nmero ser: (10010)* Ambos mtodos son igualmente vlidos La palabra de cdigo correspondiente al nmero decimal 230 La palabra de cdigo correspondiente al nmero binario (1001011) Como la base no es una potencia de dos, no se puede pasar directamente, as que primero debemos pasr el nmero binario a decimal, y despus a la nueva base. Para pasarlo a decimal utilizamos el mtodo polinmico: N=1*26+1*23+1*21+1*20=75 Ahora utilizamos el mtodo iterativo 75 0 5 15 3 4 3 0

3 1 1

2 0 0

1 0

Por lo tanto, el nmero representado en la nueva base ser: (01030)*

Soluciones de problemas 1.6. Dados los siguientes cdigos BCD: Dgito decimal 0 1 2 3 4 5 6 7 8 9 Se pide:

137

Cdigo n 1 0000000 0001101 0011011 0010110 0110001 0111100 0101010 0100111 1100100 1101001

Razonar si es un cdigo detector y/o corrector de errores (1 solo bit errneo) Para que el cdigo sea detector (corrector) de errores en un solo bit, la distancia entre todas sus palabras debe ser de al menos de 2 (3). Por lo tanto, tenemos que hallar la distancia entre todas las palabras: 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 mnima entre todas sus palabras es igual a 3, este cdigo es un cdigo corrector de errores en un solo bit (y por tanto tambin es detector) Detectar y/o corregir (en el caso que sea posible) las siguientes palabras de cdigo. Para ello se debe indicar la particularidad del cdigo detector utilizada para la deteccin, 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 cdigo sea corrector, se sabe que los cuatro primeros bits son bits de mensaje y el resto bit de chequeo con paridad de tres bits)

138

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica Como el cdigo es un cdigo corrector de errores en un solo bit, vamos a indicar los bits de mensaje (los tres primeros) que son chequeados por cada bit de chequeo (los tres ltimos). Nombrmos los bits de la siguiente forma: m1m2m3m4c1c2c3 Para ello, vamos a fijarnos en las palabras que slo tienen un 1 en los bits de mensaje. De esta forma los bits de chequeo que valgan 1, chequearn 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 dems bits de mensaje, pasamos a comprobar las palabras con dos 1s. Los bits de chequeo que valgan 0, chequearn a ambos bits; obteniendo: c2 chequea a m1 c3 chequea a m1 Unificando ambas tablas, obtenemos la tabla de chequeo completa: c1 chequea a m4, m3, m2 c2 chequea a m3, m2, m1 c3 chequea a m4, m2, m1 Para el caso de la correccin, 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 deberan valer 0, pero c3 vale 1. Esta situacin 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 c3, los bits que pueden ser errneos son: c3, m4, m2 y m1. Adems sabemos que el error se ha producido en un solo bit. Luego, si se hubiese producido en m4, el error tambin se hubiera detectado en c1; si se hubiese producido en m2, tambin se hubiese detectado en c1 y c2; y si se hubiese producido en m1, tambin se hubiese detectado en c2. Por lo tanto, el error debe estar en el propio bit de chequeo c3. As la palabra correcta sera: 0000000 En el caso de la palabra 1100100, los bits de chequeo c1, c2 y c3 deberan 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 deberan valer 0, pero c2 y c3 vale 1.

Soluciones de problemas Esta situacin 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 errneos son: m2 (puesto que un error en algn otro implicara un error en ms de un bit). As la palabra correcta sera: 0100111

139

Razonar una posible variante para obtener un cdigo para detectar fallos de dos bits a partir de un cdigo corrector de error de un bit. Un mtodo para obtener un cdigo detector consiste en aadir un bit de paridad total. Pero para que este mtodo surta efecto, debemos asegurarnos que la paridad de las palabras del cdigo original no es la misma en todas las palabras. Esta situacin se cumple en nuestro cdigo ya que hay palabras con 0, 3 y 4 1s. Por lo tanto, aadimos un bit de paridad total. As si se detecta un fallo, en los bits de chequeo y de paridad, el error est en un solo bit; mientras que si el fallo slo se detecta en los bits de chequeo, se ha producido un fallo en dos bits. 1.7. Repetir el ejercicio anterior con los siguientes cdigos.: Dgito decimal Cdigo n 1 Cdigo n 2 Cdigo n 3 0 1 2 3 4 5 6 7 8 9 0000001 0000111 0011111 1111111 0000010 0001110 0111110 0000100 0011100 1111100 0011110 0100110 0101101 0110011 0111000 1000111 1001100 1010010 1011001 1100001 0111101 1011101 1101101 1110101 1111001 0111110 1011110 1101110 1110110 1111010

Cdigo n 4 0000000 0111100 0110011 0101010 0100101 1011010 1010101 1001100 1000011 1111111

140

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Problemas del Tema 2


2.1. Usando los postulados del lgebra de Boole y los teoremas asociados, demuestre la veracidad de las siguientes igualdades: xy + x'y' + xy' = x + y' Utilizando el teorema de idempotencia, y reordenando la expresin podemos poner: xy+xy+xy+xy A continuacin sacamos factor comn: 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 + xy)' = xy' Si reordenamos la expresin, obtenemos: (xz+xz+xy+xy) Sacando factor comn: (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' + xz') = x'y Si aplicamos el teorema 7 en el parntesis central, obtenemos: (x+y)(x+z)(y+xz) Multiplicando los dos primeros parntesis: (xz+xy+yz)(y+xz) Multiplicando los parntesis que nos quedan: xzy. Por lo tanto, la igualdad es falsa. xy + yz + x'z = xy + x'z (x + y)(x' + z) = xz + x'y Multiplicando los parntesis, obtenemos: xz+xy+yz Si multiplicamos por 1=x+x, el trmino que queremos eliminar, yz xz+xy+yz(x+x) Multiplicando el parntesis: xz+xy+xyz+xyz Reordenando los trminos y sacando factor comn: xz(1+y)+xy(1+z) Utilizando el teorema de los elementos nulos: xz+xy. Por lo que la igualdad es correcta. xy + yz + xz = (x + y)(y + z)(x + z) xy' + yz' + x'z = x'y + y'z + xz'

Soluciones de problemas 2.2. Pruebe que en un lgebra de Boole, se verican las siguientes leyes de cancelacin: Si a+b=a+c y a'+b=a'+c, entonces b = c Si multiplicamos los trminos de las dos expresiones de partida, obtenemos: (a+b)(a+b)=(a+c)(a+c) ab+ab+b=ac+ac+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 cancelacin. Si a+b=a+c y ab=ac, entonces b = c 2.3. Determinar si el conjunto B={0,a,b,1} y las operaciones (+) y () denidas como: + 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 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 comprobacin de este postulado es visual, ya que las tablas son simtricas respecto de su diagonal. Operaciones distributivas. Para ello, construimos las tablas de verdad de que parte de la igualdad de dichas propiedades. Estas tablas se muestran en la siguiente pgina. 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 ms fcil de demostrar este postulado es encontrar los complementos 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.

141

Obtenga los complementos de las siguientes funciones, as como las tablas de combinaciones y sus frmulas cannicas disyuntivas y conjuntivas (tanto del complemento obtenido como de la funcin original): F = a + bc

142 X A A Y A B 0 1 A B 0 1 A B 0 1 A B 0 1 A B 0 1 A B 0 1 A B 0 1 A B 0 1

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica Z X(Y+Z) A A A A A 0 0 A A 0 0 A A A A A 0 B 1 B B B B B 0 B 0 B B B B B XY+XZ A A A A A 0 0 A A 0 0 A A A A A 0 B 1 B B B B B 0 B 0 B B B B B A A A A A 1 A 1 A A A A A 1 A 1 1 B B 1 B B B B B B B B 1 B B 1 X+YZ (X+Y)(X+Z) A A A A A 1 A 1 A A A A A 1 A 1 1 B B 1 B B B B B B B B 1 B B 1

Soluciones de problemas X 0 A Y A B 0 1 A B 0 1 A B 0 1 A B 0 1 A B 0 1 A B 0 1 A B 0 1 A B 0 1 Z X(Y+Z) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A 1 A 1 1 B B 1 A B 0 1 1 1 1 1 XY+XZ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A 1 A 1 1 B B 1 A B 0 1 1 1 1 1 A 0 0 A 0 B 0 B 0 0 0 0 A B 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X+YZ (X+Y)(X+Z) A 0 0 A 0 B 0 B 0 0 0 0 A B 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

143

144

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica Para obtener el complemento de la funcin, aplicamos las leyes de DeMorgan: F= a(b+c) A continuacin, vamos a obtener la tabla de verdad de la funcin y su complemento: 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 Para obtener las frmulas cannicas disyuntivas (conjuntivas) nos tenemos que quedar con las combinaciones para las que la funcin toma el valor 1 (0), y generar los mintrminos (maxtrminos) correspondientes: F = m(3,4,5,6,7) = abc + abc + abc + abc + abc F = M (0,1,2) = (a+b+c)(a+b+c)(a+b+c) F = m(0,1,2) = abc + abc + abc 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 = ab + b'c + ca'd

2.5.

Mediante los postulados y teoremas del lgebra de Boole, obtenga unas expresiones mnimas en suma de productos de las siguientes funciones. A partir de estas sumas de productos, obtenga una expresin en producto de sumas. F = m(0,1,3,4,6,8) En primer lugar, pasamos esta expresin a suma de productos: F = abcd + abcd + abcd + abcd + abcd + abcd Ahora observamos qu trminos podemos agrupar para sacar factor comn. En el caso de que haya un trmino que podemos agrupar con ms de uno, aplicamos la ley de idempotencia y desdoblamos dicho trmino. No obstante, trataremos de agrupar el nmero mnimo de trminos, es decir, no agruparemos dos trminos que hayan sido agrupado antes. F = abc(d+d) + (a+a)bcd + ab(c+c)d + ab(c+c)d Aplicando el cuarto postulado del lgebra de Boole:

Soluciones de problemas F = abc + bcd + abd + abd Para pasar a producto de sumas, debemos complementar la expresin dos veces: F=(a+b+c)(b+c+d)(a+b+d)(a+b+d) Realizamos las multiplicaciones de los parntesis: F= (ad+b+c)(a+bd+bd) F= ad + ab + ac + bd + bcd + bcd 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 aritmtica binaria: 12 + 30 Primero pasamos los nmeros decimales a cdgio binario, es decir, 12 = 01100 y 30 = 11110. A continuacin, 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 despus su resultado se suma con el tercero. 12-3 (usando la resta binaria) Primero pasamos los nmeros decimales a cdgio binario, es decir, 12 = 1100 y 3 = 0011. A continuacin, realizamos la resta: 1100 -> 12 0110 -> desbordamiento 0011 -> 03 1001 -> 09 20-10 (usando el complemento a dos) Primero pasamos los nmeros decimales a cdgio binario, es decir, 20 = 10100 y -10 = -01010 = 10110. A continuacin, realizamos la suma: 01000 -> acarreo 10100 -> +20 10110 -> -10 01010 -> +10 35

145

146

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica 3.25 4 Primero pasamos los nmeros decimales a cdgio binario, es decir, 3.25 = 11.01 y 4 = 100. A continuacin, realizamos la multiplicacin: ______________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. x y z (a) F Analizar de forma estacionaria y transitoria los siguientes circuitos, as como determinar los caminos crticos: x y z F (b)

x1 x2 x3 (c) x4 F

x y F (d)

X b2 a2 b1 a1 (e) x y z Y (f) F

x F y z (g) z x F y

x y z (h)

z x w (i)

F (j)

148

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica * Circuito (a) Para obtener el anlisis estacionario, etiquetamos todos los nodos con la funcin lgica correspondiente. x y n1=y+z F=n2n1z z (a) Por lo tanto, la funcin lgica que realiza este circuito es: F = (x+y+z)(y+z)z. En el anlisis transitorio, tenemos que buscar alguna seal que recorra ms de un camino (hasta llegar al nodo de salida), y que en alguno de ellos la seal est complementada. En este caso particular, slamente pueden existir azares en la seal z, ya que la seal x slo recorre un camino, y la seal y recorre dos pero en ambos est sin complementar. Las condiciones de azares son: azares estticos: F = z+z F = zz azares dinmicos: F = z(z+z) F = z+zz Por simple inspecin de la frmula, podemos observar que slo se pueden dar azares estticos de la forma zz. Para que se produzcan estos azares, las combinaciones del resto de seales deben ser: x=1 y=0 --> F = zz x=0 y=0 --> F = zzz El camino crtico 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 crtico ser aquel que atraviese ms 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 primera se tiene que cumplir: n2=x+n1

Soluciones de problemas x=0 Las combinaciones que cumplen todas estas condiciones son: x=0, y=1, z=0 Como dicho camino es seguido por alguna combinacin de entradas, el camino anterior era el crtico, formado por tres puertas. * Circuito (b) Para obtener el anlisis estacionario, etiquetamos todos los nodos con la funcin lgica correspondiente. x y n1 = xy F = n1 n2

149

n2 = y+z

Por lo tanto, F = (xy) (y+z) En el caso del anlisis transitorio, veamos como influyen las puertas XOR en el caso de los azares: x x = xx+xx = xx --> 0 x x = xx+xx = x + x --> 1 Entonces, la operacin XOR de la misma seal (por dos caminos diferentes) pueden provocar azares, aunque ambos caminos sean complementados o sin complementar. Centrndonos en nuestro caso, la nica seal en la que se pueda presentar algn azar es la seal y, por ser la nica que sigue ms de un camino. F = y y, si x=1 y z=1 Por lo tanto, existe un nico azar en la seal y, cuando x=z=1. Analicemos la influencia de la puerta XOR en el camino crtico: F = x y = xy + xy Por lo tanto, independientemente del valor lgico de alguna de sus entradas, el resultado de la puerta depende de la puerta restante, as que estas puertas no introducen ninguna restriccin. En nuestro caso particular, encontramos dos caminos crticos: NAND-XOR y OR-XOR. Como la ltima puerta es una XOR, su resultado siempre va a depender del nivel anterior. Por lo tanto, esos sern los caminos crticos que presenta nuestro circuito, dndose para todas las combinaciones de entrada.

150

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica * Circuito (e) Para obtener el anlisis estacionario, etiquetamos todos los nodos con la funcin lgica correspondiente. X

n1=b2a2 b2

n3=n1+n2

n4=n3a1b1 (e)

a2

b1 a1 n2=a2b2

n5=n3b1a1 Y

Por lo tanto, el valor de las funciones de salida X e Y son: X = b2a2 + b1a1(b2a2+b2a2) Y = a2b2 + b1a1(b2a2+b2a2) Para el caso del anlisis transitorio, debemos considerar solamente las seales que siguen ms de un camino (y alguno de los cuales debe estar complementada y sin complementar), para la misma salida. Las nicas seales que cumplen este requisito son las seales b2 y a2, con dos caminos diferentes. Por lo tanto, slo podemos buscar azares estticos: Para quedarnos con b2 en la funcin X, la seal a2 debe valer 1 Para quedarnos con b2 en la funcin X, la seal a2 debe valer 0, b1 1 y a1 0 Como no existe ninguna combinacin que cumpla todas las restricciones, concluimos con que no existen azares en b2 para la funcin X. Adems como la funcin es conmutativa con respecto a b2 y a2, podemos concluir que tampoco habr azares en a2. Para el caso de la funcin Y, vemos que el comportamiento es exactamente el mismo que en la funcin X, por lo que tampoco habr azares para esta funcin. El camino crtico de una funcin multisalida es el camino ms crtico de todas las salidas por separado. Podemos observar que el camino ms 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

Soluciones de problemas que cumplir: n1 = b2a2 = 0 para la funcin X n2 = b2a2 = 0 para la funcin Y Para que la puerta AND3 espere a la NOR, se tiene que cumplir: b1=0 y a1=1 para la funcin X b1=1 y a1=0 para la funcin Y La puerta NOR siempre espera a una AND2, ya que todas sus entradas son salidas de estas puertas. Las combinaciones que siguen estos caminos son: a1b1a2b2 = 100-, 10-1 para la funcin X a1b1a2b2 = 011-, 01-0 para la funcin Y Como existen combinaciones de las seales de entradas que siguen estos caminos, podemos afirmar que el camino crtico es el formado por AND2-NOR-AND3-OR.

151

152

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Problemas del Tema 4


4.1. Se desea disear el circuito de control de una planta de montaje encargado de la seal de aviso de evacuacin. Para ello se dispone de tres sensores: A.- sensor de incendio, B.- sensor de humedad y C.- sensor de presin Los materiales con los que se trabaja en dicha planta son tales que son inamables y slo toleran unos niveles mnimos de presin y humedad de forma conjunta (estos niveles se encuentran programados en los sensores correspondientes). El circuito a disear debe ser tal que active una seal 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 seal de alarma. En segundo lugar, tenemos que generar la funcin lgica que queremos disear. Para este cometido nos fijamos en las especificaciones del diseo: La alarma se activar cuando exista un incendio, es decir, el sensor A se active; ya que los materiales son inflamables. La alarma se activar cuando exista mucha presin y humedad, es decir, cuando se activen simultneamente los sensores B y C; por propiedad de los materiales. Por lo tanto, la funcin lgica ser: A B C F 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 Para generar el circuito, y debido a que estamos ante una funcin con una sola salida, vamos a utilizar el mtod del mapa. 0 0 0 0 1 1 1 1

4.2.

Se desea disear un circuito de control de una mquina trituradora. En esta mquina existen dos sensores de llenado (S1 y S2), que determinan el nivel de los elementos a triturar como se muestran en la gura: Cuando la mquina se encuentra llena del todo, tienen que entrar en funcionamiento ambos trituradores; cuando se encuentra medio lleno, slo tiene que funcionar uno de

Soluciones de problemas

153

00 A 0 1 0 1

BC 01 11 0 1 1 1

10 0 1

F = A + BC A B C F

S1 S2 P M1 M2 ellos; mientras que si no se detecta ningn elemento a triturar, ambos motores se han de parar. Dicha mquina tiene un mecanismo de emergencia a travs de un conmutador de trituracin, de tal forma que cuando est conectado la mquina opera segn su contenido, mientras que si est desconectado, la mquina ha de pararse independientemente de su contenido. De nuevo tenemos que identificar las entradas y salidas de nuestro sistema: Como entradas tendremos los dos sensores de presencia, S1 y S2, y el conmutador de trituracin, P. Como salida tendremos las dos seales que controlan los motores de trituracin, M1 y M2. El siguiente paso consiste en obtener la tabla de verdad de la funcin lgica que queremos implementar: 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 La combinacin S1 = 1 y S2 = 0 no se puede producir nunca en un sistema real. Por lo tanto, el valor

154

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica de las salidas en dicha combinacin no importa y se trata como una inespecificacin para tratar de reducir lo mximo posible el circuito final. Como se trata de una funcin multisalida, M1 y M2, debemos utilizar el mtodo de McCluskey. En primer lugar hallaremos los imlicantes de la funcin, y depus completaremos la tabla de McCluskey: 00 P 0 1 0 0 S1S2 01 11 0 0 0 1 10 0 x I1 I2 10 0 x M1 = P*S2 M2 = P*S1 M1 y M2 ---> I1 = P*S1 M1 --------> I2 = P*S2 5 7 x x x 7 x

M1*M2 00 P 0 1 0 0 S1S2 01 11 0 1 M1 0 1

S2 00 P 0 1 0 0 S1S2 01 11 0 0 0 1 10 0 x P S1

M1

M2

M2 En este caso podemos apreciar que todos los implicantes son esenciales, y debern estar en el circuito lgico. 4.3. Se desea disear un circuito de interfaz binaria-decimal, de tal forma que se active una seal indicando la combinacin binaria que se ha introducido a la entrada. Realizar el diseo para nmeros codicados con dos bits, siendo este elemento lo que se conoce como decodicador 2:4. De nuevo debemos identificar las entradas y salidas de nuestro sistema: Como entradas tendremos los bits cuya combinacin se quiere detectar. Como en nuestro caso son dos bits, denominmosloss B0 y B1. Como salidas tendremos todas las posibles combinaciones de los bits de entrada. En nuestro caso sern cuatro combincaciones, denominmoslas C0, C1, C2 y C3. El siguiente paso consiste en obtener la funcin lgica que se desea imlementar. Supongamos que la salida Ci detecta la combinacin i. Luego la funcin ser:

Soluciones de problemas B1 B0 C3 C2 C1 C0

155

0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 0 0 Por tratarse de una funcin multisalida se debera aplicar McCluskey. No obstante, podemos comprobar que las salidas no tienen ningn 1 en comn por lo que se pueden tratar como funciones diferentes. Adems como las funciones slo tienen un 1 y todo lo dems 0, podemos halar el trmino producto directamente de la tabla, ya que ser el mintrmino correspondiente. As, las salidas tendrn las siguientes frmulas: C3 = B1*B0 C2 = B1*B0 C1 = B1*B0 C0 = B1*B0 Luego el circuito correspondiente ser: C3 C2 C1 S2 S1 C0

4.4.

Se dispone de un cdigo octal codicado en binario, con un bit de paridad, para la transmisin de datos entre dos estaciones espaciales. Se desea disear un circuito que indique la presencia de un error en un solo bit. Encontrar los circuitos mnimos para las siguientes funciones de conmutacin: F1 = m0 + m4 + m5 F2 = m0 + m2 + m3 + m4 + m5 F3 = m0 + m1 + m2 Como ya nos dan la funcin lgica que debemos implementar, slo los queda hallar el circuito lgico. Esta funcin tendr tres entradas, x1, x2 y x3, ya que slo tiene hasta el quinto mintrmino. Los implicantes sern: F1, F2 y F3 --> I1 = x1*x2*x3 F1 y F2 --> I2 = x2*x3, I3= x1*x2 F2 y F3 --> I4 = x1*x3

4.5.

156

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

00 x10 1 1 0

x2x3 01 11 0 0 0 0

10 0 0 x10 1

00 1 0

x2x3 01 11 0 0 0 0

10 1 0

F1*F2*F3 00 x10 1 1 1 x2x3 01 11 0 1 0 0 10 0 0 x10 1 00 1 1

F2*F3 x2x3 01 11 0 1 F1 00 x10 1 1 1 x2x3 01 11 0 1 F2 00 x10 1 1 0 x2x3 01 11 1 0 F3 0 0 10 1 0 1 0 10 1 0 0 0 10 0 0

F1*F2 x2x3 01 11 0 0 0 0

00 x10 1 1 0

10 0 0

F1*F3

F2 --> I5 = x1*x2 F3 --> I6 = x1*x2 La tabla de McCluskey ser: F1 F2 0 4 5 0 2 3 4 5 0

F3 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 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-

Soluciones de problemas F1 0 F2 0

157

I1 X X I2 X X I4 X nado tanto por I1 como por I2. Tambin 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 frmulas lgicas sern: F1 = I3 + I2 = x1*x2 + x2*x3 F2 = I3 + I5 + I2 = x1*x2 + x1*x2 + x2*x3 F3 = I6 + I4 = x1*x2 + x1*x3

F1 F2 x1 x2 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 restriccin 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 mintrminos adyacentes, en lugar de solo mintrminos. Por lo tanto, los implicantes sern los mismos que en el ejercicio anterior. La nueva tabla de McCluskey ser: En este caso, todos los implicantes son esenciales excepto I1. Las frmulas de conmutacin sern:

F3

158

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica F1 0-4 I1 I2 X I3 I4 I5 I6 F1 = I2 F2 = I2 x2*x3 F3 = I4 4-5 0-2 F2 0-4 X X X X + + + + X I3 = x2*x3 + x1*x2 I3 + I4 + I5 = x1*x2 + x1*x3 + x1*x2 I6 = x1*x3 + x1*x2 X X 2-3 4-5 F3 0-1 0-2

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 completo, debemos generar otro conjunto completo, como por ejemplo puertas AND, OR e inversores. A la hora de implementar una funcin mediante multiplexores, la forma ms intuitiva consiste en crear la tabla de la funcin, tomando las entradas como las seales de seleccin y la salida en funcin de las restantes entradas. Luego, cada fila de dicha tabla ser cada canal de entrada del multiplexor. Por ejemplo: F=A+ F=A* F=A F=A* F=A A B A B A F=A A A A B B +B B 0 0 1 1 0 0 0 0 0 0 1 0 B 0 0 0 1 1 1 0 1 0 1 0 1 1 1 B 1 0 0 1 1 0 0 1 1 1 1 1 Por lo tanto, a nivel de circuito, estas puertas sern:
0 1 1 1 0 1 2 3 10 A A B 0 0 0 1 0 1 2 3 10 A A B 1 0 0 1 0 A F = A 1 0 0 1 0 A F = A

F = A + B

B 1

0 1 0

F = A + B

F = A * B

0 B

0 1 0

F = A * B

Por lo tanto, el conjunto formado por los multiplexores forma un conjunto completo. Como podemos apreciar, para que el diseo se realice con un solo multiplexor, ste tiene que tener como mnimo n-1 seales de seleccin, donde n es el nmero de variables de la funcin a implementar.

160 5.2.

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica Realizar la funcin F= M(0,2,4,6) mediante: Multiplexores 8:1 Multiplexores 4:1 Como vimos en el ejercicio anterior, tenemos que formar la tabla de verdad de la funcin con dos variables de entrada (ya que nuestro multiplexor tiene dos canales de seleccin). Para ello nos ayudaremos viendo la tabla total de la funcin: 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 Las variables que elegimos para las entradas de seleccin sern aquellas que ms nos convenga, pero no existe ningun mtodo para indicarnos esta situacin, ya que es muy ependiente de la funcin a implementar. A continuacin mostramos todas las soluciones que hemos obtenido:
C C C C 0 1 2 3 10 A B F 0 1 0 1 0 1 F 2 3 10 A C 0 1 0 1 0 1 F 2 3 10 B C

Decodicadores 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 mintrminos (maxtrminos). Si lo que tenemos para unirlos son puertas OR, el nico decodificador que nos sirve es activo a nivel alto; por lo que debemos pasar la funcin a suma de mintrminos: F= M(0,2,4,6) = m(1,3,5,7) Una vez hecho esto, slo tenemos que sumar (a travs de la puerta OR) los mintrminos para los que la funcin vale 1.

Soluciones de problemas

161

A B C

4 2 1

0 1 2 3 4 5 6 7

Hay que tener mucho cuidado con el orden de las entradas del decodificador, ya que puede cambiar el ndice de los mintrminos !!. 5.3. Obtener el comportamiento del circuito mostrado a continuacin. Este comportamiento puede ser mostrado a travs de un diagrama de ujo.

0 1 2 3

x y

1 0

z1 z0

Para tratar de obtener el comportamiento de este circuito, vemoslo ms detenidamente. El circuito muestra dos niveles: Existen una serie de puertas lgicas en el primer nivel que no estn relacionadas entre s. En el segundo nivel, encontramos un multiplexor que selecciona la operacin 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 display decimal para su visualizacin. Para ello se dispone de los siguientes dispositivos MSI: comparadores, sumadores/restadores y display 7 segmentos con su decodicador incorporado; utilizar el nmero mnimo posible. En primer lugar tenemos que identificar las condiciones que utilizan distintos dgitos BCD. As, cuando el nmero es menor que 10, el dgito ms significativo (llammoslo D1) valdr 0, y el menos significativo (llammoslo D0) valdr el nmero de entrada. En cam-

162

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

00 z1z0 01 10

11

F = x y

F = x +y

F = x y

F = y

bio, cuando sea mayor o igual a 10, el digito ms significativo valdr 1 y el menos significativo valdr n-10. Pasemos este comportamiento a un diagrama de flujo: No n > 10 Si No n > 10 Si

D1 = 0

D1 = 1

D0 = n

D0 = n-10

Cada componente de este diagrama tiene su equivalente en circuitos MSI. As: una comparacin equivale a un comparador una seleccin equivale a un circuito selector: multiplexor o demultiplexor, segn el nmero de salidas y de entradas. una accin equivale a bloque que realiza dicha accin: sumador, operacin lgica, ... En nuestro caso particular necesitaremos dos multiplexores, ya que tenemos dos selecciones en las que la salida es la misma, un comparador y un sumador/restador (haciendo la funcin 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 nmero). Los tipos de campanada son tres: cuartos, medias y horas. Para ello disponemos de los minutos en un cdigo BCD natural (dos dgitos, M1 y M0, de cuatro bits). El diseo ha de ser realizado con el mnimo nmero de las puertas siguientes: comparadores de cuatro bits y puertas lgicas. 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 producirn las campanadas. El comportamiento del circuito

Soluciones de problemas

163

A B A<B A=B A>B

10 5 0 1 0

a<b a=b a>b

1 4 4 A B S/R 5 4

0 1 0 0 1 0

4 D1

10 5 n 5 1

4 D1

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 tambin podramos haber hallado un diagrama de flujo, pero es ms intuitivo verlo de esta manera. Luego, debemos realizar las comparaciones y unir los resultados a travs de las operaciones lgicas: M0 0
0 1 0 4 4 A B A<B A=B A>B a<b a=b a>b

M0 5
0 1 0

4 4

A B A<B A=B A>B a<b a=b a>b

C M

M1 0
0 1 0

4 4

A B A<B A=B A>B a<b a=b a>b

M1 1
0 1 0

4 4

A B A<B A=B A>B a<b a=b a>b

M1 3
0 1 0

4 4

A B A<B A=B A>B a<b a=b a>b

M1 4
0 1 0

4 4

A B A<B A=B A>B a<b a=b a>b

164

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Problemas del Tema 6


6.1. Realizar los diseos de los problemas del Tema 4 mediante dispositivos PROM, PAL y PLA. De forma general, la implementacin en estos tres dispositivos siguen las siguientes caracterticas: Memorias ROM.- Debido al decodificador interno de dicha memoria, hay que suministrar los mintrminos para los que la funcin toma el valor 1. Dispositivos PAL.- Debido a que las diferentes salidas no comparten ningn trmino producto, hay que suministrar la suma de productos mnima monosalida (todas las salidas se toman independientemente. Si hay algn trmino comn, hay que implementarlo tantas veces como en salidas est presente). Dispositivos PLA.- Debido a que todas las salidas pueden compartir todoslos trminos productos, hay que suministrar la suma de productos mnima multisalida. Ejercicio 4.1. La obtencin de las frmulas se lleva a cabo de la misma forma que en el tema 4. Por lo tanto, partiremos ya de estas frmulas. A partir de latabla obtenida en el tema 4, podemos obtener la suma de mintrminos, y la frmula mnima 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 tendrn las siguientes restricciones mnimas: ROM: 3 entradas y 1 salida PAL: 3 entradas, 1 salida y 2 trminos AND PLA: 3 entradas, 1 salida y 2 trminos AND

A B C

0 1 4 2 2 3 1 4 5 6 7 PROM

A F B C F PAL

A B C F PLA

Soluciones de problemas 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 tendrn las siguientes restricciones mnimas: ROM: 3 entradas y 3salida PAL: 3 entradas, 3 salida y 9 trminos AND PLA: 3 entradas, 3 salida y 5 trminos AND

165

A B C

0 1 4 2 2 3 1 4 5 6 7 PROM

F1 x1 x2 x3 F1 F3 F3 PAL

x1 x2 x3 F1 F2 F3 PLA

F2

F3

166

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica

Problemas del Tema 7


7.1. Determinar la funcin lgica de los siguientes circuitos y realizarla mediante la lgica CMOS.

A B

A B

A B

A B B

A C

A B C

A B C

A B

A B C

A B C

A B

La tecnologa en la que estn construidas estas puertas es una tecnologa NMOS. En sta, existen transistores NMOS y un bloque de carga, formado por una resistencia en el caso qu nos ocupa. La funcin lgica de estas puertas es tal que la conexin en serie equivale a una operacin AND, y la conexin en paralelo equivale a una operacin OR, estando la salida complementada. B F = AB + AB A B A B B A B A A A B

C A B C F = A + BC A A B C B

Soluciones de problemas 7.2. Determinar la funcin lgica de:

167

B A

C A

C A

Estamos ante una tecnologa TTL con salida en totempole. En esta tecnologa (TTL), los transistores multiemisores producen la operacin AND de sus entradas, y los transistores multiemisores en paralelo producen la operacin OR de los productos. Y al igual que la mayora de las familias, la salida est negada.

F = B + AC C A

168 7.3.

Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica Realizar el diseo mnimo de la funcin f = m(0,1,2,5,7) en una familia lgica CMOS. En dicha familia, no se pueden colocar ms de 2 transistores en serie de cada tipo. En primer lugar debemos obtener la frmula mnima que realiza dicha funcin lgica. Como es una funcin con una sola salida, aplicaremos el mtodo de Karnaugh. Como llegamos hasta el mintrmino 7, la funcin tendr tres variables de entrada 00 x30 1 1 1 x1 x2 01 11 10 1 0 0 1 0 1

F(x1, x2, x3) = x1x2 + x1x3 + x1x3 Se nos ha impuesto la restriccin de que solamente podemos conectar un mximo de dos transistores en serie de cada tipo, por lo que slo podremos implementar en una puerta funciones de dos entradas. As que haremos una puerta OR de dos productos, y su resultado se le sumar al restante. x2 x1 x1 x2 x3 x3 F x1 x3

x3

x1

Para reducir el nmero de transistores, hemos sacado factor comn 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, bastara con implementar 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 ms de 2 emisores. Repetir el problema 7.3 para una familia ECL. En estas familias slo podemos implementar trminos sumas (negados y sin negar). Por lo tanto, una solucin sera pasar los trminos productos a trminos sumas complementados; quedando la funcin: F = (x1 + x2) + (x1 + x3) + (x1 + x3) Con esta solucin necesitaramos cuatro puertas dife-

7.5.

Soluciones de problemas rentes, al tener cuatro sumas. Veamos si colocando la funcin como suma de productos, reducimos el nmero de transistores. 00 x30 1 1 1 x1 x2 01 11 10 1 0 0 1 0 1

169

F(x1, x2, x3) = (x1+x2+x3)(x1+x3) F(x1, x2, x3) = (x1+x2+x3) + (x1+x3) Eligiendo esta solucin, observamos que solamente necesitaremos dos puertas, as que implementaremos esta ltima.

x1

x3

x1

x2

x3

Soluciones de problemas

170

También podría gustarte