I. Sistemas Combinacionales.

download I. Sistemas Combinacionales.

of 73

description

desarrollo y entendimiento de sistemas combinacionales... en la Electronica Digital.

Transcript of I. Sistemas Combinacionales.

UNIDAD 3.- LGICA COMBINACIONAL ELECTRNICA DIGITALI.- SISTEMAS COMBINACIONALES Y MTODO DE DISEO.

Teniendo en cuenta que un sistema combinacional es todo aquel sistema digital que en sus salidas son funcin exclusiva del valor de sus entradas en un momento dado, sin que intervengan en ningn caso estados anteriores a las entradas o de las salidas. Por tanto, carecen de memoria y de retroalimentacin. Los circuitos con compuertas lgicas son circuitos combinacionales sencillos. Estn implementados mediante circuitos integrados (CI) en los que existen entradas, salidas, entradas de control, entrada de alimentacin y de entrada a puesta tierra.

I.I.- COMPONENTES BSICOS.Las componentes digitales electrnicas han evolucionado rpidamente. Se han logrado elevados niveles de integracin; es decir gran nmero de compuertas y flip-flops en un solo dispositivo. Para manejar el nivel de complejidad, de un proyecto que emplee elevado nmero de componentes, se han desarrollado herramientas de apoyo al diseo, las cuales tambin han evolucionado con las nuevas metodologas de diseo de software. Debido a que los problemas computacionales que deben ser resueltos son de gran complejidad, y a menudo de costo exponencial, se han desarrollado heursticas y nuevos conceptos para describir sistemas digitales. Histricamente las compuertas y flip-flops se disponan en pastillas con integracin en pequea escala. Luego se dispuso de componentes integrados en mediana y gran escala; MSI y LSI, respectivamente (Medium and Large Scale Integration). En esta segunda etapa se introdujeron primitivas fijas, que implementan una funcin especfica como: contadores, registros, multiplexores, decodificadores, codificadores, etc. El disponer de primitivas ms poderosas que las compuertas lgicas bsicas, hizo necesario mtodos adecuados de diseo; comenzaron los lenguajes de descripcin de hardware (HDL). Posteriormente los procesos de fabricacin permitieron obtener memorias ms baratas, y comienzan a emplearse en el diseo digital memorias: PROM, EPROM, EEPROM, FLASH. Al mismo tiempo aparecen los primeros dispositivos programables: PAL, PLA, PLD, los cuales evolucionaron a los sistemas programables actuales: CPLD y FPGA. Estudiaremos algunos bloques constructivos bsicos: Veremos que ellos pueden implementarse en base a compuertas, o bien existen como dispositivos de mediana integracin, o son partes o bloques que se pueden agregar a esquemticos, o son elementos bsicos de los dispositivos programables, o son mdulos de software de los lenguajes descriptivos de hardware. Estudiaremos los siguientes bloques bsicos: Multiplexores, decodificadores, demultiplexores. A stos pueden agregarse comparadores y bloques aritmticos.

I.II.- TIPOS DE CIRCUITOS COMBINACIONLES.

Circuitos Aritmticos: se encuentran los de tipos: Semisumador y Sumador Total.

Circuitos Lgicos: estn los: Codificadores y Decodificadores, Multiplexor y Desmultiplexor, Comparador, Conversor de Cdigo y Generador / Detector de Paridad.

I.II.I.- SUMADORES.

SEMISUMADOR: La suma de dos dgitos binarios (PLUS) es similar a la suma de dos nmeros decimales, pero teniendo en cuenta que la salida tambin es un nmero binario. Esto es importante cuando sumo, por ejemplo, 1 y 1, ya que para codicar el resultado (2 en decimal) necesito dos bits (10). En este caso, el bit menos signicativo lo llamaremos suma, mientras que el bit ms signicativo lo llamaremos acarreo (carry en ingls). En total, existen 4 posibilidades de sumar dos nmeros binarios de 1 bit:

Fig.- I.- Posibilidades de sumar dos nmeros binarios en 1 bit.

El circuito que implementa esta funcin se denomina semi-sumador (HA o halfadder). Por lo tanto, un HA es el circuito que realiza la suma de dos bits. Como es obvio, precisa dos entradas (que vamos a llamar A y B) y dos salidas: la suma propiamente dicha. As como se muestra en la Tabla.- II.- La Tabla de verdad y su smbolo de semisumador (HA).

Tabla.- II.

Mientras que en la Fig.- III.- Se muestra la minimizacin de las funciones de suma y acarreo de un semisumador.

Fig.- III. Diagramas de Karnaugh de las funciones mencionadas.

Y sus expresiones mnimas quedan de la siguiente manera:

La funcin de acarreo C es 1 nicamente cuando las dos entradas son 1. Adems de la expresin en suma de productos, existen otras formas de expresar la funcin suma, aunque todas ellas se pueden deducir de la anterior aplicando las Leyes de De Morgan y la propiedad distributiva del lgebra de Boole. La expresin ms sencilla es la EXOR de las entradas: la suma es 1 cuando en las entradas tenemos un nmero impar de 1s, y es 0 en caso contrario.

SUMADOR TOTAL:Si adems de sumar dos dgitos, tambin queremos sumar un acarreo de entrada, entonces l HA es insuciente. Para sumar 3 dgitos de 1 bit necesitamos lo que se conoce como sumador completo (fulladder o FA). Si a los bits de entrada les llamamos A y B, y al acarreo de entrada lo denominamos Cin, entonces la tabla de verdad de las salidas del FA (el bit de la suma, S, y el acarreo de salida, Cout). La minimizacin de las funciones de salida del sumador completo. El resultado de la minimizacin son las expresiones:

Fig.- IV.- Distintas implementaciones de un semisumador (HA).

Ahora en la Tabla V.- se observa su respectiva Tabla de Verdad y su smbolo de un Sumador Completo (FA).

Tabla V. Tabla de Verdad de un FA.

Fig.- VI.- Diagramas de Karnaugh de las salidas de un sumador completo.

Fig.- VII.- Implementacin de un FA a partir de un HA.

S es la funcin EXOR de las 3 entradas, es decir, su valor ser 1 cuando en las entradas haya un nmero impar de unos. Cout ser 1 cuando en las entradas haya dos o tres unos.Construccin de un sumador completo con semisumadores: Las funciones del sumador completo se pueden implementar directamente utilizan-do las expresiones mnimas de S y Cout. Sin embargo, tambin se pueden implementar utilizando como mdulo bsico el semisumador y puertas lgicas adicionales. Sabemos que el bit de suma del FA es la EXOR de las tres entradas. l HA solo puede hacer EXOR de 2 entradas, por lo tanto necesito, como mnimo, 2 HA conectados en serie, tal que la salida S1 sea tambin entrada al segundo HA. De esa forma S2 ser igual a la suma del FA.

Queda calcular el acarreo de salida del FA. Para ello observamos que el acarreo del primer HA es: C1 = AB. El acarreo del segundo HA es C2 = CinS1 = Cin(A B). Si hacemos la OR de ambos obtendremos la siguiente expresin:

Fig.- VIII.- Diagrama de Pines del C.I. 7483.

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

Se puede demostrar que esta expresin es equivalente a la expresin mnima que obtuvimos con el diagrama de Karnaugh. Para ello debemos utilizar las leyes y propiedades del lgebra de Boole.SUMADORES DE PALABRAS:Ya sabemos sumar tres nmeros binarios de 1 bit, pero nos interesa poder sumar cantidades mayores, es decir, palabras o nmeros de varios bits que puedan codicar nmeros mayores. En el mercado podemos encontrar chips, que nos muestra el diagrama de pines del C.I. 7483, sumador de nmeros binarios de 4 bits. Para el diseo de estos circuitos existen dos opciones. La primera consiste en aplicar el mismo mtodo que hemos estado usando, a saber, denir la tabla de verdad de la funcin u operacin que nos interesa implementar y minimizarla. Obviamente, este mtodo resulta poco prctico en el caso de tener nmeros de varios bits. Por poner un ejemplo, la tabla de verdad de un sumador de palabras de 4 bits posee 8 entradas, es decir, 256 combinaciones. El segundo mtodo consiste en hacer un diseo modular, es decir, disear un circuito bsico que iremos repitiendo las veces que necesitemos. Este mtodo solo es aplicable en funciones que posean un cierto grado de regularidad. Si nos jamos, la suma aritmtica de palabras de n bits cumple dicha condicin. Sumemos dos nmeros en binario a la manera tradicional:

Mientras que en la Fig.- IX.- Es un Sumador de acarreo enlazado.

Fig.- IX.

Como podemos observar, para calcular el bit i-simo del resultado solo necesitamos conocer los bits i-simos de las entradas y el acarreo resultado de calcular el bit anterior (i 1). Por lo tanto, el mdulo bsico es un sumador de 3 bits: un sumador completo. Para sumar palabras de n bits ser preciso utilizar n FA. Nos queda por resolver cmo y cundo calcular el acarreo de cada bit. Para ello existen varias alternativas o soluciones, pero aqu solo veremos la conocida como sumador de acarreo enlazado. En el sumador de acarreo enlazado, el acarreo del sumador completo i se conecta al acarreo de entrada del sumador completo i + 1. De esta forma, a pesar de que todos los FA trabajan en paralelo, el resultado nal (correcto), no se obtendr hasta que todas las salidas sean estables, es decir, hasta que un acarreo generado en el primer bit (el bit 1) se propague hasta el bit ms signicativo (el bit n). Resulta evidente que la velocidad del sumador de acarreo enlazado es baja, pues cada etapa o FA ha de esperar al cmputo de los acarreos por parte de todos los sumadores situados a su derecha (bits menos signicativos), es decir, el retardo ser n veces el tiempo de retardo de un FA. En la Figura mostrada anteriormente se muestra un sumador de acarreo enlazado construido con 4 sumadores completos de un bit. El primer acarreo C0 es un acarreo de entrada al circuito y podemos denotarlo por Cin. Los 3 acarreos siguientes C1, C2 y C3 son acarreos generados y usados exclusivamente por el circuito, y, por ltimo, el acarreo C4 es un acarreo de salida y podemos denotarlo por Cout. Las expresiones de cada seal son:

El resultado nal necesita un total de cinco bits para codicar el resultado, es decir, CoutS3S2S1S0. Existe la posibilidad de conectar ms sumadores de palabras en cascada para ampliar el tamao de las palabras a sumar. Para ello se debe conectar el acarreo de salida Cout de cada circuito al acarreo de entrada Cin del circuito situado a su izquierda.

Fig.- X.- Suma de Palabras de 8 Bits con sumadores paralelos de 4 Bits.

Suma y Resta con nmeros con signo: La sustraccin, que vamos a denotar por MINUS, se puede implementar de muchas formas. Se pueden denir las tablas de verdad para cada uno de los bits de salida y minimizar las funciones con los diagramas de Karnaugh. Tambin se puede seguir los mismos pasos que en la suma construyendo un semirrestador, un restador completo y nalmente, un restador de palabras. Otra opcin, ms eciente, consiste en calcular la resta a partir de la suma. Para ello, solo se necesita calcular el opuesto del sustraendo. Esta operacin depende del tipo de representacin elegida para codicar los nmeros negativos. Debido a esto, a continuacin vamos a ver cmo se realizan las sumas y las restas en SignoMagnitud, Complemento a 1 y en Complemento a 2. Formato SignoMagnitud (SM): La suma y la resta son complejas ya que implican conocer el signo de ambos nmeros para realizar bien una suma verdadera, bien una resta verdadera con sumadores y resta-dores paralelos de n bits, respectivamente. Si queremos restar (sumar) haremos tal resta (suma) si ambos operndose son del mismo signo, y haremos una suma (resta) si poseen signos opuesto. Debido a que en SignoMagnitud es necesario implementar un restador binario, esta representacin no es la ms utilizada. Una alternativa es convertir los nmeros a Complemento a 1 o Complemento a 2 y realizar las operaciones en estos formatos, que, como veremos a continuacin, resulta mucho ms sencillo. Complemento a 1 (C1): Para sumar dos nmeros en C1 se suman todos sus bits, incluido el de signo. Si existe un acarreo de salida entonces se le suma al resultado. Para restar dos nmeros necesitamos calcular el opuesto del sustraendo, es decir, calcular el Complemento a 1 del sustraendo y realizar una suma. Con esta representacin solo necesitamos un sumador paralelo de n bits.

Fig.- XI.- Suma y Resta de dos nmeros en complemento a 1.

Fig.- XII.- Suma y Resta de dos nmeros en complemento a 2.

Complemento a 2 (C2): La suma en C2 es la ms sencilla de todas: se suman todos los bits del formato y se desprecia o no se tiene en cuenta el acarreo nal de salida (gura XII). Para calcular el opuesto de un nmero necesitamos negar todos los bits del mismo y sumar 1 al nal (es decir, calcular el C2). La resta sera igual que en C1 (ver gura XII), pero con el acarreo de entrada igual a 1 y despreciando el acarreo de salida.Desbordamiento u overow: La suma de dos nmeros con formato (nmero jo de bits) puede producir como resultado un nmero que no es posible representar en el formato de partida. En este caso se dir que existe desbordamiento (overow) y el resultado de la suma (o resta) ser incorrecto. Por ejemplo, en un formato de 4 bits en C2 la operacin (-7) plus (-6)= (-13) producir overow, pues -13 no es representable en 4 bits. El overow solo puede producirse cuando los dos sumandos son o bien ambos positivos o bien ambos negativos, pues obviamente cuando un sumando es positivo y el otro negativo, el resultado siempre ser menor que uno de los operandos y podr representarse con el formato de partida. En el caso de la representacin SignoMagnitud el desbordamiento.Circuito sumador/restador: Usando las propiedades de la funcin EXOR (cuadro 2.1) podemos construir un cir-cuito para sumar o restar nmeros en C1 o C2. Introducimos una seal denominada S/R, tal que si esta seal es 0 (S) se realizar una suma A PLUS B y si es 1 (R) se realizar una resta A MINUS B. Para ello, si S/R = 0 los bits de B se propagan tal cul (B= 0 Bi = Bi), pero si S/R = 1 entonces se propagan Bi = 1 Bi = Bi. En C1 debemos conectar Cout con Cin para completar la operacin. Sin embargo, en C2 para negar un nmero adems de negar todos sus bits (C1), necesitamos sumarle 1. Para ello aplicamos tambin la seal S/R al Cin del sumador, de tal forma que si se realiza una suma Cin = 0 (no afecta), mientras que en la resta Cin = 1. En este caso Cout no formar parte del resultado y no se usa para nada. Como ejemplo, el sumador/restador en Complemento a 2 para nmeros de 4 bits.

Fig.- XIII.- Sumador / Restador de 2 nmeros en complemento a 2.

I.II.II.- COMPARADORES.

COMPARADOR BINARIO:La comparacin entre nmeros es la operacin que determina si uno de ellos es mayor, menor o igual que el otro. Un comparador de magnitud es un circuito combinacional que compara dos nmeros positivos A y B y proporciona tres salidas (A < B), (A = B) y (A > B). Como son mutuamente excluyentes, conociendo dos de estas funciones es posible determinar la tercera, con lo que realmente solo necesitamos implementar dos. Por ejemplo, para obtener la funcin (A < B) a partir de las otras dos:

Donde en la ltima combinacin de entradas se ha puesto una indiferencia pues no podr darse en la prctica. Existen dos posibilidades para expresar (A < B). Si la indiferencia se toma como 0, entonces (A < B) = (A>B) + (A=B) y si la indiferencia se toma como 1, entonces (A < B) = (A>B) (A=B). Las expresiones de (A = B) y (A > B) en funcin de las otras dos se obtienen del mismo modo. Para implementar las funciones (A > B), (A = B) y (A < B) existen dos posibilidades. La primera de ellas es partir de los diagramas de Karnough. As, por ejemplo, si A y B son nmeros de dos bits A = A1A0 y B = B1B0, entonces las funciones tendrn las siguientes expresiones mnimas.

En la Fig.- XIV.- Son los Diagramas de Karnaugh de las salidas de un Comparador de 2 bits.

Fig.- XIV.

Fig.- XV.- Tabla de Verdad de un Comparador de 1 Bit.

Sin embargo, si utilizamos este mtodo, el diseo se complica si el nmero de bits de las palabras a comparar es grande. La segunda posibilidad es encontrar una forma simple de disear comparadores de cualquier nmero de bits a partir de un circuito que compare un solo bit, es decir, usar una estrategia modular. Si el bit ms signicativo de A es mayor (menor) que el bit ms signicativo de B, entonces A es mayor (menor) que B. Si An1=Bn1 entonces seguimos comparando el siguiente bit ms signicativo y as sucesivamente. Por ltimo, dos nmeros son iguales si todos sus bits son iguales, es decir, Ai = Bi, i = 0, ..., n 1.

El primer paso consiste pues en disear un circuito comparador de un bit, es decir, las funciones (Ai>Bi), (Ai=Bi) y (Ai B3 o (A3 = B3 y A2 > B2) o (A3 = B3 y A2 = B2 y A1 > B1) o (A3 = B3 y A2 = B2 y A1 = B1 y A0 > B0). Entonces:(A>B) = (A3>B3) + (A3=B3)(A2>B2) + (A3=B3)(A2=B2)(A1>B1) +(A3=B3)(A2=B2)(A1=B1)(A0>B0) = A3B3 + x3A2B2 + x3x2A1B1 + x3x2x1A0B0.Del mismo modo, A ser menor que B si: A3 < B3 o (A3 = B3 y A2 < B2) o (A3 = B3 y A2 = B2 y A1 < B1) o (A3 = B3 y A2 = B2 y A1 = B1 y A0 < B0). Entonces:(A i1 > i0 es el orden de prioridad ms usual y stos van a ser los circuitos codicadores que se encuentren en el mercado.

Tabla.- XXXVII.- Codificador 4 a 2 con Prioridad.

En la tabla de verdad solo ha de tenerse en cuenta la lnea ms prioritaria a uno. As, por ejemplo, si i2 = 1 e i3 = 0 sabemos que la salida ha de ser 2, independientemente de los valores de las lneas i0 e i1 (segunda la de la tabla). Por otro lado, la obtencin de estas ecuaciones a partir de la tabla de verdad es similar a la construccin de funciones en forma de suma de minterm, pero teniendo en cuenta que las variables de entrada que son x no intervienen en la formacin del trmino producto. A diferencia de un codicador sin prioridad, en un codicador con prioridad todas las combinaciones de entrada tienen denido un valor de salida y, por lo tanto, no hay indiferencias en las funciones de salida del codicador. En la Fig.- XXXVIII.- mostramos el diagrama de pines del C.I. 74148 junto con su tabla de funcionamiento. Este chip corresponde a un codicador 8 a 3 con prioridad. Como comentario nal, indicar que los codicadores comerciales binarios pueden llegar a ser de 16 a 4. Para disear codicadores mayores no es posible construir rboles de decodicadores siguiendo el mismo mtodo empleado para MUX y DEMUX y habra que estudiar cada caso en particular.

Fig.- XXXVIII.- Codicador 8 a 3 con prioridad 74148.

I.II.VI.- CONVERSORES DE CDIGOS.

Un conversor de cdigo es un dispositivo que genera la traduccin entre dos cdigos diferentes. Los nmeros de bits en la entrada y la salida de este dispositivo vienen dados respectivamente por la longitud del cdigo de partida y del cdigo traducido. La construccin de estos dispositivos es particular para cada tipo de conversin de cdigos elegida. Una forma sencilla de realizar conversores es partiendo de decodicadores y codicadores. Podemos ver un ejemplo de un conversor de nmeros de 4 bits en formato signomagnitud a formato complemento a 2, utilizando un decodicador binario 4 a 16 y un codicador binario 16 a 4. Sin embargo, este mtodo tiene el inconveniente de la limitacin del tamao de los codicadores, con lo cual si el cdigo de salida es de ms de cuatro bits, ya habra que estudiar una implementacin especca para el conversor. Un ejemplo interesante es la conversin BCD a siete segmentos. Un visualizador (dis-play) de siete segmentos consta de siete segmentos etiquetados a, b, c, d, e, f y g, que pueden ser iluminados individualmente mediante LEDs.

Fig.- XXXIX.- Diseo de un conversor SM a C2 para nmeros de 4 bits.

Fig.- XL.- Visualizador de Siete Segmentos.

El visualizador incluye una entrada de control para cada segmento de forma que si, por ejemplo, la entrada correspondiente al segmento a est activa ste se iluminar, mientras que si est inactiva el segmento permanecer apagado. Igual para los seis segmentos restantes. La activacin de un segmento puede ser con un valor alto (HIGH) cuando el visualizador es de ctodo comn, o con un valor bajo (LOW) cuando el visualizador es de nodo comn. El cdigo BCD (cdigo binario decimal) consta de 4 bits en los cuales las combinaciones posibles son las que generan los nmeros binarios 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, que son precisamente los dgitos que se emplean en el sistema decimal. La conversin BCD a 7 segmentos viene dada por la Tabla.- XLI.

Tabla.- XLI.- Conversin BCD a 7 Segmentos.

En la Fig.- XLII.- mostramos el diagrama de pines y la tabla de funcionamiento del C.I. 7448, que corresponde al conversor de cdigo BCD a 7 segmentos para visualizadores de ctodo comn.

Fig.- XLII.- C.I. 7448: conversor BCD a 7 segmentos.I.III.- ANLISIS DE CIRCUITOS COMBINACIONALES.

El anlisis consiste en la determinacin del comportamiento de un sistema dada su estructura y el comportamiento de sus componentes bsicos. El resultado del anlisis puede ser utilizado para comprender el funcionamiento de sistema y, en su caso, intentar mejorar el diseo, bien mejorando prestaciones o reduciendo costo; o bien corrigiendo deficiencias. En los sistemas combinacionales la estructura la proporciona su diagrama lgico. En ste los componentes son las puertas lgicas bsicas cuyo comportamiento es conocido. El comportamiento del sistema combinacional puede modelarse mediante multifunciones booleanas. La tarea de anlisis consiste pues en obtener la funcin booleana correspondiente a cada salida del sistema, dependiente de las entradas del mismo. Para analizar un diagrama lgico se parte de las entradas del sistema y se avanza hacia las salidas, traduciendo en expresiones booleanas cada una de las puertas lgicas que encontramos en el camino. Un circuito como el de la figura se dice que es multinivel, porque posee varios niveles de puertas entre las entradas y las salidas. Mientras mayor sea el nmero de niveles de un circuito, mayor ser el retardo de propagacin entrada-salida. Se denomina nmero de niveles de un circuito lgico al nmero de puertas lgicas que intervienen en el camino ms largo desde la entrada a la salida. Los circuitos multinivel pueden presentar fenmenos aleatorios (riesgos) en la propagacin de los cambios de las entradas debido al diferente retardo de propagacin de las seales por los distintos caminos entrada-salida.La respuesta en la salida solo depende de los valores que tenemos en la entrada del circuito una vez que este se ha estabilizado cuando no hay lazos de realimentacin ni elementos de memoria.El Anlisis puede ser: Anlisis Lgico: Tabla o expresin algebraica que descubre el comportamiento de la salida del circuito en funcin de la entrada.

Anlisis fsico o dinmico: estudio de cada uno de los elementos del circuito y su respuesta real en el tiempo.

Para un anlisis dinmico tendremos en cuenta el retraso del circuito, su carga y la estructura de niveles que lo forma.Proceso: - Se identifican los distintos niveles del circuito o puertas. - Se identifican las entradas, las salidas y las variables intermedias. - Se escribe la expresin de salida en funcin de las entradas. - Repetir para todos los niveles hasta que las variables de salida estn en funcin de las entradas.

I.III.I.- CARACTERISTICAS TCNICAS DE LOS CIRCUITOS COMBINACINALES.

- FAN-IN. Nmero mximo de puertas del mismo tipo que la dada que pueden conectarse a esta, de manera que el circuito funcione correctamente. - FAN-OUT. Nmero mximo de puertas del mismo tipo que la dada que pueden conectarse como carga de sta, de manera que el circuito funcione correctamente.- Coste: El diseo puede ser ms sencillo si empleamos ms circuitos, pero el coste es mayor y viceversa.- Respuesta Temporal. La respuesta de una puerta lgica no es instantnea, requiere un cierto tiempo para que un cambio a la entrada produzca un posible cambio a la salida. Este retraso puede causar u originar carreras e incluso no a la aparicin de respuesta para una posible entrada.

Fig.- XLIII.- Caracterizacin de Tiempos de un Circuito.

- Retraso total = nmero de niveles tiempo de retraso de puerta - Retraso efectivo = tiempo real que tarda en responder el circuito para una determinadas entradas.- Retraso neto = media de los retrasos para cada una de las entradas.

I.III.II.- AZARES LGICOS.

Las puertas lgicas introducen retardo en la propagacin de las seales digitales que representan a las variables lgicas que procesan. Este retardo no es constante, sino que puede variar dentro de un intervalo acotado entre dos valores mximo y mnimo, especificados por el fabricante, y que es consecuencia de la dispersin de los parmetros de fabricacin. Por ello el tiempo de propagacin de una seal en un circuito combinacional es difcil de predecir con exactitud. Por otro lado, una salida de un sistema combinacional puede depender de una misma variable de entrada de diversas formas que dan lugar a una multiplicidad de caminos de entrada/salida, cada uno de los cuales puede llevar asociado diferentes tiempos de propagacin. Como consecuencia de esta diferencia, las transiciones de las salidas de un sistema, como consecuencia de cambios en las entradas, pueden no ser limpias y presentar ciertas fluctuaciones, de carcter aleatorio, hasta que alcanzan su valor final estable esperado. Estos fenmenos aleatorios reciben el nombre de riesgos (hazards). Dependiendo del uso que se haga del sistema estos fenmenos pueden ser ms o menos peligrosos. Definicin: Un riesgo es una breve excursin o fluctuacin de la seal de salida de un circuito digital, que produce una transicin momentnea a un nivel lgico no esperado. Clasificacin: Atendiendo a la forma de la fluctuacin de la seal los riesgos se clasifican en riesgos estticos y riesgos dinmicos. Riesgo Esttico: Se llama as al riesgo en el que la excursin consiste en que la seal pasa por un estado transitorio de un nivel lgico contrario esperado. As se habla de riesgo esttico de tipo uno y riesgo esttico tipo cero, segn la seal presente de forma transitoria a nivel lgico (1 a 0).

Fig.- XLIV.- Representacin del Riesgo Esttico. Riesgo Dinmico: Se llama as al riesgo que se produce cuando una seal que debe transitar a un nivel lgico a otro (0->1 o 1->0), no lo hace directamente, sino que realiza una o ms oscilaciones entre ambos niveles de alcanzar su nivel estable final.

Fig.- XLV.- Representacin del Riego Dinmico.

Atendiendo a la causa especfica que produce el riesgo se clasifican en riesgos lgicos y riesgos funcionales. Riesgo Lgico: Se llama as al riesgo que aparece en un circuito como consecuencias de una implementacin fsica particular de una funcin booleana. Puede ser eliminado rediseando el circuito a partir de otra expresin booleana para dicha funcin.

Riesgo Funcional: Se llama as al riesgo que aparece en un circuito inducido por la propia funcin, independientemente de la expresin booleana que sirve como base para su implementacin fsica. Por tanto, no puede ser eliminado rediseando el circuito a partir de otra expresin booleana para dicha funcin.

Diseo de Circuitos Libres de Riesgos: El problema de los riesgos suele abordarse desde tres puntos de vista:a).- Se intenta eliminar el riesgo equilibrando el tiempo de propagacin de las seales por los diferentes caminos introduciendo elementos de retardo. Es poco usado por la gran dependencia de los retardos de las puertas lgicas, e incluso de los propios elementos de retardo introducidos, respecto a la temperatura, variaciones de la tensin de alimentacin, etc.b).- Se asume que existen riesgos y se trata de eludir su efecto nocivo sincronizando los cambios de las seales con una seal maestra y definiendo en base a sta instantes activos, de manera que en un entorno de estos instantes est garantizada la estabilidad de todas las seales que deban conmutar. La velocidad de funcionamiento de estos sistemas est pues limitada por la separacin entre instantes activos, que ha de coincidir con el mximo tiempo necesario para que se estabilicen todas las seales que pueden conmutar en el sistema, teniendo en cuenta todas las situaciones posibles. Una medida estimada de ese tiempo se obtiene calculando el tiempo de retardo del circuito para todos los caminos posibles desde cada una de las entradas a cada una de las salidas del sistema. Esta es la tcnica ms usada.c).- En algunos casos es posible aplicar ciertas reglas para redisear el circuito y obtener expresiones algebraicas que producen circuitos libres de riesgos.- Los riesgos lgicos estticos se suelen producir cuando las entradas del sistema transitan entre combinaciones adyacentes que producen la misma salida en la funcin considerada y que en la expresin que implementa el circuito no estn cubiertas por el mismo implicante primo. Por tanto para estos riesgos la solucin est en aadir a la expresin que presenta el riesgo la adyacencia involucrada en l. Esta adyacencia se llama trmino de consenso. Como procedimiento general suficiente, aunque no necesario, los diseos libres de riesgos lgicos estticos se obtienen de expresiones que contienen todos los trminos de consenso de la funcin.- Los riesgos lgicos dinmicos pueden evitarse obteniendo las expresiones booleanas de la funcin simplificando segn el mtodo de los mapas de Karnaugh. As se garantiza que la expresin obtenida no contiene relaciones del tipo A A o A + A.

I.IV.- MTODO DE 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. 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. 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. 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 cas-cada (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 ven-taja 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 Fig.- XLVI.- mostramos dos implementaciones de la misma funcin: en dos niveles y en multinivel.

Fig.- XLVI.- 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, 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). Menor valor asociado.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 Fig.- XLVII.- vemos dos funciones cuya implementacin con-junta muestra un coste menor que su implementacin por separado:

Fig.- XLVII.- 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.

I.IV.I.- MTODO DE 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...xmPor 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.Supongamos que tenemos un grupo de dos 0s adyacentes en los que la variable que cambia sea xn. Los posibles maxitrminos 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 maxitrminos, 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 Fig.- XLVIII.- 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.

Fig.- XLVIII.- 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 = ACI2 = m(7) + m(15) = ABCD + ABCD = (A+A)BCD = BCDI3 = m(5) + m(7) = ABCD + ABCD = AB(C+C)D = ABDI4 = m(1) + m(5) = ABCD + ABCD = A(B+B)CD = ACDPor 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.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:Teorema 4.1.- 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'dLas 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. 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 + abdF2 = ab + ad + bdSon 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 (Fig.- XLIX), 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 geomtrica-mente. 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.

Fig.- XLIX.- 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 Fig.- L.- mostramos los mapas de Karnaugh 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 decirF = 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:F = x5x4x3x2 + x5x3x1

Fig.- L.- Mapas de Karnaugh de la funcin F(x5, x4, x3, x2, x1)= m(0, 2, 8, 10, 30, 31).

La segunda forma consiste en la obtencin de las implicantes primas por mtodos tabula-res. 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 Fig.- L.- el primer implicante no se apreciara.

Fig.- LI.- 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 Fig.- LII.- Las inespecicaciones en los minitrminos 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.

Fig.- LII.- 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 Fig.- LIII.- mostramos la implementacin en producto de sumas:

Fig.- LIII.- Ejemplo de diseo de una funcin incompleta en producto de sumas.

I.IV.II.- 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 Tabla.- LIV.- 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).

Tabla.- LIV.- 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). 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 Fig.- LV.

Fig.- LV.- Implicantesde una Funcin Multisalida.

En la Fig.- LVI.- 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 minitrmino 7 es comn a ambas, se coloca dos veces, una en cada salida). En la Fig.- LVI (b), se ha aplicado el criterio de esencialidad. Se comprueba que existen dos implicantes esenciales; I3 para F1 debido al minitrmino 1, e I4 para F2 debido al minitrmino 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 (Fig.- LVI.- c). 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 (Fig.- LVI.- d). En este caso observamos que el implicante I1 es 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.

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

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 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 Fig.- LVII.

Fig.- LVII.- Implicantes de una funcin multisalida para su implementacin como producto de sumas.El proceso de minimizacin es mostrado en la Fig.- LVIII.- 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.

Fig.- LVIII.- Desarrollo de la minimizacin de la tabla de McCluskey. (a) Tabla original; (b) despus del criterio de esencialidad; (c) despus del criterio de dominancia; y (d) despus de la segunda aplicacin del criterio de esencialidad.I.IV.III.- 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 propiedad 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 consideradas estas caractersticas.

I.IV.III.I.- MTODO DEL MAPA (AZARES).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) adyacentes.En el ejemplo correspondiente, la implementacin libre de azares se muestra en la Fig.- LIX.- En este caso todos los implicantes son esenciales, por lo que debern aparecer en la frmula lgica.

Fig.- LIX.- Implementacin libre de azares utilizando el mtodo del mapa.

I.IV.III.II.- MTODO DE McCLUSKEY (AZARES).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. En la Fig.- LX.- 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 minitrmino 7, pero no la pareja 3-7 ni la 6-7.

Fig.- LX.- 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 + bcf2 = I4 + I5 = bc' + ab

I.IV.IV.- IMPLEMENTACIN DE 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 Fig.- LXI.:

Fig.- LXI.- Implementacin en suma de productos de la funcin f = ac + a'd

I.IV.V.- 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 pro-cede 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 teo-remas del lgebra de Boole. Veamos el ejemplo de la frmula:F = abc + ab + abcF = (a+b+c)(a+b)(a+b+c) = (a+b+c)(a+bc) = abc + ab + acF = (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 pro-ductos 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 Fig.- LXII.- 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 Fig.- LXII.- b es necesario la adicin de un inversor (o de algn elemento con su funcionalidad).

Fig.- LXII.- Conversin de la implementacin AND-OR a la implementacin NAND-NAND.En el caso del producto de suma, se puede ver de igual forma que su conversin a NOR-NOR es igualmente inmediata, como sucede con el caso anterior. Un ejemplo similar al anterior se muestra en la Fig.- LXIII. Por ltimo para pasar de una implementacin NAND-NAND a una NOR-NOR (y vice-versa), solamente se necesita pasar de la implementacin de suma de productos a producto de sumas (y viceversa).

Fig.- LXIII.- Conversin de la implementacin OR-AND a la implementacin NOR-NOR.I.- SISTEMAS COMBINACIONALES Y METODO DE DISEO