Está en la página 1de 14

ASIGNATURA:

ARQUITECTURA DE COMPUTADORAS

ALUMNOS:
ISAIAS POBLANO MORALES FABIAN GONZALO GONZALEZ MARTINEZ

SEMESTRE:
CUARTO

TURNO:
MATUTINO

PROYECTO:
CIRCUITOS COMBINACIONALES

CUNDUACAN, TABASCO; A 21 DE ABRIL 2010

CIRCUITOS COMBINACIONALES

Un circuito convencional es un conjunto de puertas interconectadas, cuya salida, en un momento dado, es funcin solamente de la entrada en ese instante. Como ocurre con un a puerta sencilla, la aparicin de la entrada viene seguida casi inmediatamente por la aparicin de la salida, con solo retardos de puerta. En general, un circuito combinacional consiste en n entradas binarias y m salidas binarias. Como una puerta, un circuito combinacional puede definirse de tres formas: Tabla verdad: Para cada una de las 2a combinaciones posibles de las n seales de entrada, se enumera el valor binario de cada una de las m seales de salida. Smbolo grfico: Describe la organizacin de las interconexiones entre puertas. Ecuaciones booleanas: Cada seal de salida se expresa como una funcin booleana de las seales de entrada

IMPLEMENTACION DE LAS FUNCIONES BOOLEANAS Cualquier funcin booleana se puede implementar en electrnica en forma de red de puertas. Para una funcin dada, hay una serie de realizaciones alternativas. Considrese la funcin

booleana representada por la tabla de verdad A.3. Podemos expresar esta funcin sencillamente, detallando las combinaciones de los valores de A, B y C que hacen que F valga 1.

Hay tres combinaciones de los valores de entrada que hacen que F valga 1, y si se da cualquiera de estas tres combinaciones, el resultado ser 1. Este tipo de expresin, por razones evidentes, se conoce como la forma suma de productos (SOP, <<sum of products>>). La figura A.4, muestra una sencilla implementacin con puertas AND, OR Y NOT.

Se puede obtener tambin otra forma de la tabla verdad. La forma SOP indica que la salida es 1, si cualquiera de las combinaciones de entrada que producen 1 es cierta. Tambin se puede decir que la salida es 1, si ninguna de las combinaciones de entrada que producen 0 es cierta. Por tanto:

Esta expresin se puede rescribir usando una generalizacin del teorema de DeMorgan:

Por tanto:

Esta ltima expresin est formada de productos de sumas (POS <<product of sum>>), como se ilustra en la figura A.5. Por claridad, no aparecen las compuertas NOT. En su lugar, suponemos que se dispone de cada seal de entrada y de su complemento. Esto simplifica el diagrama lgico, y hace ms legibles las entradas a las puertas. Por tanto, se puede realizar una funcin booleana tanto en la forma SOP como en la forma POS. En este momento, podra parecer que la eleccin dependiera de si la tabla de verdad contiene ms unos o ceros para la funcin de salida: La SOP tiene un trmino para cada 1, y la POS tiene un trmino para cada 0. Sin embargo, hay otras consideraciones: Generalmente es posible obtener una expresin booleana, ms sencilla de la tabla verdad que de las formas SOP o POS. Puede ser preferible implementar la funcin con puertas sencillas (NAND o NOR)

El significado del primer punto es que, con una expresin booleana ms sencilla, se necesitan menos puertas para implementar la funcin. Para llevar a cabo esta simplificacin se pueden usar tres mtodos: Simplificacin algebraica Mapas de Karnaugh Tablas de Quine-McKluskey

Simplificacin algebraica La simplificacin algebraica supone la aplicacin de las identidades de la Tabla A.2, que reduce la expresin booleana a otra con menos elementos. Por ejemplo, supongamos de nuevo la ecuacin (A.1). Un poco de razonamiento debera convencer al lector de que una expresin equivalente es:

O, incluso ms sencillamente:

Esta expresin se puede implementar como se indica en la figura A.6. La simplificacin de la ecuacin (A.1) se ha hecho esencialmente por observacin. Para obtener una expresin ms compleja, se necesita un procedimiento ms sistemtico

Mapas de Karnaugh Si se quiere simplificar, los mapas de Karnaugh son una forma conveniente de representar una funcin booleana con pocas variables (de 4 a 6). El mapa es un conjunto de 2 cuadriculas, que representan las posibles combinaciones de los valores de n variables binarias. La figura A.7a muestra el mapa de cuatro cuadriculas para una funcin de dos variables. Es conveniente, para futuros propsitos, enumerar las combinaciones en el orden 00, 01, 11, 10. Como las cuadriculas corresponden a combinaciones que se van a usar para escribir informacin. Las combinaciones se escriben habitualmente externamente, en la parte superior de las cuadriculas. En el caso de tres variables, la representacin es un conjunto de 8 cuadriculas (figura A.7b), con los valores de una de las variables a la izquierda, y los de las otras dos variables encima de las cuadriculas. Para cuatro variables, se necesitan 16 cuadriculas, con la disposicin indicada en la figura A.7c. El mapa se puede usar para representar cualquier funcin booleana de la siguiente forma: Cada cuadricula corresponde a un nico producto en la forma de suma de productos, con valor 1 correspondiente a la variable, y valor 0 correspondiente a la NOT de dicha variable. Por tanto, el producto corresponde a la cuarta cuadricula de la figura A.7a. Para cada uno de estos productos de la funcin, se coloca un 1 en la cuadricula correspondiente. Por tanto, para el ejemplo de dos variables, el mapa corresponde a .Dada la tabla verdad A.3. Para pasar de una expresin booleana a un mapa, primero es necesario poner la expresin en lo que se denomina forma cannica: cada trmino de la expresin debe contener cada variable. As, por ejemplo, si se tiene la ecuacin (A.3), debemos expandir primero a la forma completa de la Ecuacin (A.1) y despus, pasarla al mapa.

Los rotulos usados en la figura A.7d enfatizan la relacin entre las variables, y las filas y columnas del mapa. Aqu, las dos filas que abarca el smbolo A son aquellas en las que la variable A vale 1; las filas que no abarca el smbolo A son aquellas en las que A vale 0 (lo mismo ocurre para B, C y D). Una vez que se ha creado el mapa de una funcin, podemos escribir, a menudo, una expresin algebraica sencilla anotando el conjunto de unos del mapa. El principio es el siguiente: dos casillas adyacentes cualesquiera difieren en solo una variable; si dos casillas adyacentes contienen un 1, entonces los correspondientes trminos producto difieren solo en una variable; en tal caso, los dos trminos se pueden fundir en uno, eliminando esta variable. Por ejemplo, en la figura A.8a, las dos casillas adyacentes corresponden a los trminos Por tanto, la funcin se puede expresar as:

Este proceso se puede ampliar de varias formas. En primer lugar, el concepto de adyacencia se puede ampliar para incluir el recubrimiento alrededor del borde del mapa. Por tanto, la casilla ms alta de una columna es adyacente a la ms baja, y la casilla ms a la izquierda de la fila es adyacente a la que est ms a la derecha. Estas condiciones se ilustran en las figurasA.8b y A.8c. en segundo lugar, podemos agrupar no solo 2 casillas, sino 2 casillas adyacentes; es decir, 4, 8, etc. Los tres siguientes ejemplos de la figura A.8, muestran agrupaciones de 4 casillas. Hay que destacar que, en caso, se puede eliminar dos de las variables. Los tres ltimos ejemplos muestran grupos de 8 cuadriculas, que permiten eliminar tres variables.

Para simplificar, podemos resumir las reglas como sigue: 1. Entre las casillas marcadas (casillas con un 1), encontrar aquellas que pertenezcan a un nico bloque, lo ms grande posible ya sea de 1, 2, 4 u 8 casillas, rodear el bloque con un circulo. 2. Seleccionar bloques adicionales de casillas marcadas, tan grandes y tan pocas como sea posible, pero que incluya a cada casilla marcada al menos una vez. Los resultados pueden no ser nicos en algunos casos. Por ejemplo, si una casilla marcada se combina exactamente con otras dos, y no hay una cuarta para completar un grupo mayor, entonces se puede elegir entre dos agrupaciones. Cuando se seleccionan grupos, se permite usar el mismo 1 ms de una vez 3. Seguir dibujando crculos alrededor de las casillas aisladas marcadas, o de parejas de casillas marcadas adyacentes, o de grupos de cuatro, ocho, etc., de forma que cada cuadrado marcado permanezca al menos a un circulo: luego, utilizar el menor nmero posible de bloques para incluir a todas las casillas marcadas.

La figura A.9a, basada en la tabla A.3, ilustra el procedimiento. Si queda algun1 aislado des pues de haber agrupado entonces, cada unos de ellos se rodea con un circulo, como si fuera un grupo de unos. Finalmente, antes de pasar el mapa a una expresin simplificada booleana, cualquier grupo de unos que este completamente solapado por otros grupos, se puede eliminar. Es lo que se muestra en la figura A.9b. en este caso, el grupo horizontal es redundante, y se puede ignorar a la hora de crear la expresin booleana. Es necesario mencionar una caracterstica adicional de los mapas de Karnaugh. En lagunos casos, ciertas combinaciones de valores de las variables no se dan nunca y, por consiguiente, la salida correspondiente no se produce tampoco. Esto se denomina << condiciones de indiferencia>>. Para cada una de estas condiciones, se coloca la letra <<d>> en la casilla correspondiente del mapa. Cuando se hace la agrupacin y simplificacin, cada <<d>> puede tratarse como un 1 o un 0, eligiendo lo que conduzca a una expresin mas sencilla. Un ejemplo, presentando en [HAYE88], ilustra lo que hemos estado discutiendo. Nos gustara desarrollar las expresiones booleanas para un circuito que suma un 1 a los dgitos decimales empaquetados. Recordemos de la seccin 9.2 que con decimales empaquetados, cada digito decimal se representa con un cdigo de 4 bits restantes, de 1010 a 1111, no se usan. Este cdigo tambin se denomina <<decima codificado>> (BCD, Binary Coded Decimal). La tabla A.4 muestra la tabla verdad para producir un resultado de 4 bits, que es la entrada BDC de 4 bits incrementada en 1. La suma es un modulo 10. Asi, 9+1 = 0. Tambin hay que notar que seis de los cdigos de entrada producen <<indeferencias>> como resultado, ya que son entradas BCD validas. La figura A.10 muestra el resultado de los mapas de Karnaugh para cada una de las variables de salida. Las casillas <<d>> se usan para lograr las mejores agrupaciones posibles.

El Mtodo de Quine-McKluskey Cuando se incrementa en ms de cuatro variables, el mtodo del mapa de Karnaugh se va haciendo cada vez ms incmodo. Con cinco variables, se necesitan dos mapas de 16 x 16, con un mapa situado encima del otro, en tres dimensiones, para conseguir la adyacente. Seis variables requieren cuatro tablas de 16 x 16 en cuatro dimensiones!

Un procedimiento alternativo es una tcnica tabular, denominada <<mtodo de Quine-Mc>>. Este mtodo es adecuado para programar en un computador, y as tener una herramienta automtica que produzca expresiones booleanas minimizadas. Este mtodo se explica mejor mediante un ejemplo. Consideremos la siguiente expresin:

Supongamos que esta expresin se ha obtenido de una tabla verdad. Nos gustara conseguir una expresin mnima adecuada para implementar con puertas. El primer paso es construir una tabla en la que cada fila corresponde a un trmino producto de la expresin. Los trminos se agrupan de acuerdo con el nmero de variables complementadas. Es decir, empezamos con el trmino sin complementos, si existe luego, todos los trminos con un complemento; etc. La tabla A.5 muestra la lista para nuestra expresin ejemplo, indicando con las lneas horizontales las agrupaciones. Para ms claridad, cada trmino se representa con un 1 para cada variable sin complementar, y con 0 para cada variable complementada. Por tanto agrupamos trminos de acuerdo con el

nmero de unos que contiene. La columna <<ndice>> es simplemente el equivalente decimal, y es til para lo que se explicara ms adelante. El siguiente paso es encontrar todas la parejas de trminos que difieren en solo una variable, es decir, todos los pares de trminos que son iguales excepto en que una variable es 0 en uno de los trminos, y 1 en el otro. Debido a la manera en la que se agrupan trminos, podemos hacerlo empezando con el primer grupo y comparar cada trmino del primer grupo con cada termino de segundo grupo. Despus, comparamos cada trmino del segundo grupo con todos los trminos del tercer grupo, y as sucesivamente. Cuando se encuentra un emparejamiento, se coloca una marca en cada trmino, se combina el par eliminado la variable en la que difieren los dos trminos y se aade a la nueva lista. As, por ejemplo, los trminos y se combinan para producir el termino ABC. Este proceso continua hasta que se haya analizado la tabla original entera. El resultado es una nueva tabla con los siguientes elementos:

La nueva tabla se organiza en grupos, como indicamos antes, de la misma forma que la primera tabla. La segunda tabla se procesa despus, de la misma manera que la primera. Es decir, se comprueban trminos que difieren en solo una variable y se produce un nuevo trmino para una tercera tabla. En este ejemplo, la tercera tabla que se hace contiene solamente un trmino: BD. En general, el proceso continuara, a travs de sucesivas tablas, hasta una tabla en la que no haya emparejamientos. En este caso, hay implicadas tres tablas. Una vez se haya completado el proceso descrito anteriormente, tenemos que eliminar muchos de los posibles trminos de la expresin. Aquellos trminos que no hayan sido eliminados se usan para construir una matriz como se ilustra en la tabla A.6. Cada fila de la matriz corresponde a uno de los trminos que no se han eliminado (no tienen marca) en cualquiera de las tablas usadas anteriormente. Cada columna se corresponde con uno de los trminos de la expresin original. Se coloca una X en cada interseccin de una fila y una columna, tal que el elemento de la fila sea <<compatible>> con el trmino de la columna: es decir, las variables presentes en el elemento de la fila tienen el mismo valor que las variables presentes en el elemento de la columna. Despus se rodea con un crculo cada X que este sola en una columna. Entonces se sita un cuadrado alrededor de cada X en cualquier fila que tenga un circulo en la X. si cada columna tiene ahora una V encerrada en un cuadrado en un crculo, entonces ya se ha concluido, y los elementos de esa fila cuyas X estn marcadas, constituyen la expresin mnima. Por lo tanto, en nuestro ejemplo, la expresin final es:

En los casos en los que algunas columnas no tengan ni un circulo ni un cuadrado, se necesita un proceso adicional. Esencialmente, seguimos aadiendo elementos hasta que se cubran todas las columnas.

Resumamos el mtodo Quine-McKluskey para intentar justificar intuitivamente como se realiza la minimizacin. La primera fase de las operaciones es razonablemente sencilla. El proceso elimina variables innecesarias en trminos productos. Entonces la expresin es equivalente a AB dado que:

Tras la eliminacin de las variables, nos queda una expresin que es claramente equivalente a la expresin original. Sin embrago, puede haber trminos redundantes en la expresin como encontramos agrupaciones redundantes en los mapas de Karnaugh. La organizacin de la matriz asegura que se incluye (cubre) cada trmino de la expresin original, y lo hace de forma que minimiza el nmero de trminos de la expresin final.

Implementaciones NAND y NOR Otra consideracin es la implementacin de funciones booleana concierne a los tipos de puertas usadas. Es a menudo deseable implementar una funcin booleana solo con puertas NAND o solo con puertas NOR. Aunque pueda no ser la implementacin con un mnimo de puertas, tiene la ventaja de la regularidad, que puede simplificar el proceso de fabricacin. Considerando de nuevo la ecuacin (A.3):

Como el complemento del complemento es el valor original

Aplicando el teorema de DeMorgan

Que tiene tres operadores NAND como se ilustra en la figura A.11 .