Você está na página 1de 18

BREVE INTRODUCCIN A LOS NIVELES DE INTEGRACIN SSI y MSI son niveles de integracin de compuertas lgicas.

Ustedes investigarn acerca de sto en su trabajo especial pero de igual forma aqu les hablar bsicamente qu es eso y con qu se come. Los niveles de integracin son: SSI: (Small-Scale Integration o integracin a pequea escala). Es el nivel de integracin ms bsico y comprende todos aquellos circuitos integrados (desde ahora IC por sus siglas en ingls) que poseen hasta un mximo de diez (10) compuertas. (He ledo documentacin que habla de hasta doce compuertas, pero decid tomar esta descripcin debido a que apareca en ms oportunidades y porque me parece ms lgico debido a las compuertas que integran el resto de los niveles). En este nivel tenemos las compuertas lgicas como las NAND (por ejemplo, el IC 7400 tiene 4 compuertas NAND de dos entradas), las NOT (IC 7404 con 6 compuertas NOT), las AND (IC 7408 de 4x2), las OR (IC 7432 de 4x2), las XOR (IC 7486), memorias de 1 bit, flip-flops, el IC7480 que es un sumador completo de 1 bit, etc. Estas compuertas integran de 10 a 100 transistores. MSI: (Medium-Scale Integration o integracin de mediana escala). Es el nivel de integracin que le sigue al SSI. Comprenden IC de que tienen entre 10 y 100 compuertas (entre 100 y 1000 transistores). En este campo tenemos memorias de palabra (8 bits), multiplexores, decodificadores, sumadores completos -entre ellos el IC7482 que es de 2 bits y el 7483 que es de 4 bits-, registros, contadores, etc.) LSI: (Large-Scale Integration o integracin de alta escala). Comprenden IC's de entre 100 y 1000 compuertas (o entre 1000 y 10000 transistores. Tenemos como ejemplos aqu : memorias ROM y RAM, ALU's (Unidades Lgicas y Aritmticas), microprocesadores de 8 y 16 bits, PLD (Dispositivos Lgicos Programables), etc. A parte de stos estn los VLSI (Very Large-Scale Integration) que tienen entre 1000 y 10000 compuertas y ahora los ULSI (Ultra Large) que son usados en los procesadores ms modernos como los de 32 bits.

Todos los IC comentados hasta ahora son de la serie TTL 74XX que ser los que ms usemos en los prximos meses. La serie CMOS es la 4000. Ms informacin en: http://en.wikipedia.org/wiki/Integrated_circuit

SUMADORES Antes de empezar quisiera recordarles las compuertas XOR (el smbolo de la operacin es un signo de ms circunscrito pero por comodidad usaremos aqu el para no tener que agregar una imagen cada vez que se requiera mostrar el signo. OJO no es una convencin natural, me lo acabo de inventar por comodidad).La XOR u OR exclusivo es parecida a la OR con la nica diferencia que para cuando sus entradas son ambas 1 la salida es cero (por eso lo de exclusivo). La funcin XOR pude por supuesto ser presentado con compuertas AND, OR y NOT. Por ejemplo, la funcin F = A B (Lase A XOR B), es tambin F = A'B+AB'. Existe tambin la compuerta XNOR o NOR exclusivo que es la funcin negada de la XOR. El smbolo de sta es un punto en el centro de un crculo. La funcin F= A XNOR B tiene su equivalencia en F = AB+A'B'. Recuerden que los diagramas de las compuertas XOR y XNOR son:

respectivamente. Dicho sto, empecemos por hablar del semisumador. El circuito semisumador (o H.A. Por Half Adder) es aquel que realiza la suma de dos bits SIN tomar en cuenta algn posible acarreo previo. Digamos que A y B son los bits a sumar, que S es la suma de ellos y que Co es el bit de acarreo de salida, la tabla de la verdad de este circuito es: A B S Co

0 0 1 1

0 1 0 1

0 1 1 0

0 0 0 1

Vemos entonces que Co(A,B)=(3) y que S(A,B)=(1,2). Resolviendo estas funciones obtenemos que: Co = AB y S = A'B + AB'. Si ven la ltima funcin se dar cuenta de por qu razn les habl antes de la

compuerta XOR. O sea, que S=AB. La diagramacin de este circuito es:

Ok. Pero este circuito nos servira como sumador de un slo bit (o para el bit menos significativo de una suma) pero en realidad es de poca utilidad para sumas de varios bits. En los casos que se requiera un

sumador de varios bits, se hace uso de un Sumador Completo (F.A. Por Full Adder). Veamos entonces como sera un sumador completo de 1 bit (lo que es el IC 7480 internamente). Digamos que A y B son los bits a sumar, que S es la suma de ellos, que Ci es el acarreo de entrada y que Co es el bit de acarreo de salida, la tabla de la verdad de este circuito es: Ci 0 0 0 0 1 1 1 1 A 0 0 1 1 0 0 1 1 B 0 1 0 1 0 1 0 1 Co 0 0 0 1 0 1 1 1 S 0 1 1 0 1 0 0 1

Analicen la tabla y corrobrenla. De la tabla observamos que: Co(Ci,A,B)=(3,5,6,7) y que S(Ci,A,B)=(1,2,4,7). O sea queCo=A'BCi+AB'Ci+ABCi'+ABCi y S=A'B'Ci+A'BCi'+AB'Ci'+ABCi. Simplific ando vemos que: Co=AB+ACi+ BCi y que S=Ci'(A'B+AB')+Ci(A'B'+AB), como (A'B'+AB)=(A'B+AB')'=(AB)' (XOR es una XNOR negada), si cambiamos las variables (para verlo fcil) y hacemos (AB)=T => S=Ci'T+CiT' => S = CiT , entonces S=CiAB

Si doble negamos la funcin del acarreo de salida para implementar con compuertas NAND, obtendramos la funcin Co=[(AB)'(ACi)'(BCi)']' y el

diagrama del circuito se vera:

Este es un sumador completo de un bit, el mismo implementado en el IC 7480. En forma de bloque veramos algo como:

Estas implementaciones son hechas con puras compuertas y los IC's usados usan menos de 10 de ellas por lo que estos sumadores son a nivel de SSI. Si queremos construir un sumador de, por ejemplo, 4 bits, deberemos poner en cascada cuatro sumadores completos de un bit tal como se muestra a continuacin:

Esto no es ms que el IC 7483 (que es un sumador a escala MSI debido al nmero de compuertas que ste usa). El IC7483 es algo como:

y estos sumadores a su vez tambin pueden ser organizados en cascada para implementar sumadores de 8, 12, 16, ... 4n, bits. El acarreo de entrada del primer sumador (quien incluir el bit menos significativo) debe ir a tierra para indicar el cero. Recuerden, cuando la implementacin se hace con puras compuertas lgicas, el tipo de circuito integrado usado tiene nivel de integracin SSI. Puedo disear un circuito con 30 compuertas lgicas, pero por el slo hecho de usar slo compuertas, estamos realizando la implementacin a nivel SSI. Si en nuestro circuito usamos, adems de las compuertas, tambin IC's como el sumador de 4 bits IC7483, estamos haciendo una implementacin que usa tecnologa a nivel MSI. O sea, que si les digo que diseen un sumador BCD a nivel SSI quiere decir que pueden usar nica y exclusivamente chips de compuertas lgicas como el 7400, 7408, etc pero si les digo que pueden realizar su implementacin a nivel MSI, quiere decir que pueden incluir IC's como por ejemplo el 7483 en su diseo. Otro punto de vista para ver el sumador completo en: http://hyperphysics.phy-astr.gsu.edu/hbase/electronic/fulladd.html

Quisiera comentar algo: cuando se realiza la suma de dos nmeros en paralelo, utilizandosumadores completos, se supone que todos los bits estn disponibles al mismo tiempopara poder realizar la operacin; sin embargo, esto no sucede en forma instantnea, ya que analizando el circuito de la Figura 2a, se observa que para obtener el acarreo de salida se tiene ms de un nivel de ejecucin y el tiempo de propagacin

total ser igual al retardo de propagacin de una compuerta tpica


multiplicado por el nmero de niveles de ejecucin en el circuito. Por lo tanto, si observamos el circuito de la Figura 3, el tiempo mayor de propagacin ser el tiempo que se tome el bit de acarreo en propagarse por los sumadores completos. Como cada bit de salida de la suma depende del valor del acarreo de entrada, esta salida ocurrir solamente cuando el bit de acarreo se haya propagado. Por ejemplo S3, de la Figura 3, ocurrir solamente cuando C3 se genere, pero a su vez C3 se genera cuandoS2 ocurra y S2 ocurre cuando se genera C2, y as sucesivamente. El tiempo de propagacin delacarreo es un factor que limita la rapidez con que se suman dos nmeros en paralelo y si recordamos que las operaciones aritmticas se efectan por medio de sumas sucesivas, el resultado obtenido viene siendo crtico, si no se le da el tiempo necesario para lapropagacin del acarreo. Una de las tcnicas ms usadas es haciendo Circuitos Generadores de Acarreo, la cual probablemente ser explicado en el futuro de ser necesario y si nos da tiempo. RESTADORES De la misma forma que pueden implementarse circuitos sumadores, pueden tambin implementarse los restadores. Veamos primero el caso del semi-restador. Para ste, asumiendo que tenemos la resta de A B siendo A y B bits, R el resultado de la resta y Po el bit de prstame, tenemos la siguiente tabla de a verdad: A 0 0 B 0 1 R 0 1 Po 0 1

1 1

0 1

1 0

0 0

ya que 1-1 = 0-0 = 0, 1-0=1 y, el ms interesante, 0-1 que debe pedir 1 prestado para formar la resta 10-1 = 1 y por esa razn en este caso la resta es 1 y el bit de prstame tambin es 1. Como ya se ha comentado, y veremos con ms calma ms adelante, lo normal en los sistemas lgicos y la forma en que las computadoras procesan los nmeros negativos es a travs del complemento a dos del nmero. Es por ello que en las computadoras el bit ms significativo representa el bit de signo. Si est activo se dice que el nmero es negativo y el valor del mismo es el complemento a dos de dicho nmero. As pues, para el caso de 0-1, tenemos que el resultado es 11, que es negativo y cuyo complemento a dos es 1, por lo que representa el -1... correcto. OJO: El bit ms significativo es el Po . Vemos entonces que R(A,B)=(1,2) y que Po(A,B)=(1). Resolviendo estas funciones obtenemos que: Po= A'B y R = A'B + AB'. Si ven la ltima funcin se darn cuenta de que es igual al resultado en la operacin de la suma, o sea, R=AB. La diagramacin de este circuito, y un diagrama en bloque del mismo, se ve a continuacin:

Para el caso del restador completo, tenemos la siguiente tabla:

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

Pi 0 1 0 1 0 1 0 1

Po 0 1 1 1 0 0 0 1

R 0 1 1 0 1 0 0 1

De la tabla observamos que: Po(A,B,Pi)=(1,2,3,7) y que R(A,B,Pi)=(1,2,4,7). O sea quePo=A'B'Pi+A'BPi'+A'BPi+ABPi y R=A'B'Pi+A'BPi'+AB'Pi'+ABPi. Simplifica ndo vemos que: Po=A'B+A'Pi+ BPi Si lo negamos dos veces para tener su forma con compuertas NAND tendramos que Po=[(A'B)'(A'Pi)'(BPi)']' y que R=Pi'(A'B+AB')+Pi(A'B'+AB), como (A'B'+AB)=(A'B+AB')'=(AB)', entonces R=PiAB funcin que es igual a la de la suma. El diagrama del circuito restador completo y su respectivo diagrama de bloque lo vemos a continuacin:

Como ya les coment, las computadoras actuales utilizan complementos a dos (aparte de por lo prctico que resulta trabajar con los resultados, debido a que con el complemento a 1 podra haber ambiguedad con el nmero cero) para efectuar la operacin resta y para la representacin de nmeros negativos. Los complementos se usan en las computadoras para simplificar y hacer ms rpidas las operaciones aritmticas. La forma en que funciona la resta por complemento ya ha sido estudiada por lo que no ser revisada aqu (si lo desea puede volver a ver el tema 1 y releer la parte de resta por complemento). Entonces, de todo sto podemos inferir que para realizar restas podemos usar tambin nuestros circuitos sumadores tradicionales ya que la representacin de los nmeros negativos vendr dada por un 1 en el bit ms significativo del nmero y el complemento a dos del resto de los bits. Entonces, la forma ms fcil de trabajar con nmeros negativos es asumiendo que en nuestros circuitos todos ellos estarn expresados en la forma de complemento a dos. Veamos un par de ejemplos: Si queremos realizar la resta: 7-3 en binario, tenemos que (7)10=0111 y que (-3)10=1101. Al realizar la suma tenemos que el resultado es 0100 con acarreo 1. Sabemos que en el caso de restas por complemento a dos, este acarreo no tiene efecto, por lo que el resultado es correcto y es (4)10. Pero que pasa si hacemos 3-7. Aqu (3)10=0011 y (-7)10=1001.

La suma es 1100 SIN acarreo que es un nmero negativo y representa al (-4)10 lo que es correcto. Cuando trabajamos de esta forma debemos estar consientes de que 1010 NO representa el nmero 10 sino al -6. Con cuatro bits slo podemos trabajar con nmeros comprendidos entre -8 y 7 (Obvio), as que si queremos trabajar con nmeros ms grandes debemos trabajar a su vez con ms bits.

Si en todo caso, queremos convertir los nmeros positivos a complemento a dos en nuestros circuitos (por cualquiera que fuera la razn), podemos sencillamente implementarlo con el uso de inversores y un sumador para sumar el uno necesario para convertir el complemento a uno en complemento a dos, o usando tambin circuitos sumadores en el que una de las entradas tenga una implementacin con compuertas XOR, tal y como se vio en clase y que por razones de tiempo no colocar el diagrama aqu ahora (4 XOR, cada uno de dos entradas siendo una de las mismas comn a las 4 compuertas... en el caso que esta entrada comn sea cero, las otras cuatro entradas pasarn directas o si es uno, negndolas y llevando ese mismo uno a la pata de acarreo de entrada para sumar el uno necesario para convertir un complemento a uno a un complemento a dos. Este circuitos sirve para sumas, con cero en la entrada comn de las xor, y para restas con un uno. De haber acarreo, ste slo debe ser considerado si se est realizando una suma).

UN EJEMPLO DE APLICACIN: EL SUMADOR BCD Veamos ahora un ejemplo usando los sumadores 7483, en este caso particular el de la suma BCD. Como ya hemos dicho, posiblemente el cdigo ms comnmente empleado sea el CDIGO DECIMAL CODIFICADO EN BINARIO, generalmente llamado cdigo BCD, utilizado en computadoras digitales para representar nmeros decimales. Una caracterstica particular de este cdigo es que por cada dgito decimal se requieren 4 dgitos

binarios (bits), esto quiere decir que se tendrn 16 combinaciones, de

las cuales slo son vlidas del 0 al 9, quedando como opcionales 6 combinaciones. Fjense, las sumas 1+2=3, 3+4=7, 8+1=9, etc, o sea, todas cuya suma sea menor o igual a nueve no tienen problemas en BCD ya que todas esas sumas son iguales en binario y en BCD. Pero en el caso de 5+5=10, que es 0101+0101 el resultado es 1010 que tiene sentido en binario pero NO en BCD. El resultado en BCD es 1 y 0000, que son los dos cdigos binarios de los nmeros decimales 1 y 0 que juntos representan el 10. Recuerden que los nmeros BCD son una forma de trabajar los nmeros DECIMALES pero expresados con cdigo binario. Entonces, toda suma cuyo resultado est por encima de 9 debe tener un procesamiento especial. Por otro lado, el nmero mximo que puede formarse de la suma de dos nmeros BCD es el 18 (9+9) o en todo caso el 19 si tomamos en cuenta el acarreo de entrada (9+9+1). La primera etapa de nuestro circuito es elemental, son nuestros dos nmeros binarios de entrada a un circuito sumador. Lo que requerir de procesamiento ser la salida de esta primera etapa. Veamos entonces la siguiente tabla de la verdad: Resultado de la suma en decimal. C4 0 1 2 3 4 5 6 0 0 0 0 0 0 0 S3 0 0 0 0 0 0 0 S2 0 0 0 0 1 1 1 S1 0 0 1 1 0 0 1 S0 0 1 0 1 0 1 0 Cn 0 0 0 0 0 0 0 R3 0 0 0 0 0 0 0 R2 0 0 0 0 1 1 1 R1 0 0 1 1 0 0 1 R0 0 1 0 1 0 1 0 Resultado de la suma en Binario Resultado de la suma en BCD (binario corregido)

7 7 8 9 10 11 12 13 14 15 16 17 18 19

0 0 0 0 0 0 0 0 0 0 1 1 1 1

0 0 1 1 1 1 1 1 1 1 0 0 0 0

1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1

S es la salida originada por la suma de nuestra primera etapa del circuito y C4 es el acarreo generado en la misma. Vemos que los resultados en AZUL son los generados por nuestra primera etapa. Vemos que para nuestro circuito de salida ninguno de los resultados en VERDE CLARO requieren correccin (El resultado en BCD es el mismo que en binario). En cambio, para todos nuestros resultados en ROJO si requeriremos de una correccin. De aqu podemos concluir que el procesamiento especial al que hice referencia puede resolverse con tan slo sumar 6 (0110) a los resultados de la suma de nuestra primera etapa cuyos valores estn por encima del nueve (ejemplos: 10=1010 que + 0110 es 1 0000, 12=1100 que + 0110 es 1 0010, 19=10011 que + 0110 es 1 1001) y que en todos los casos que se requieren correccin el bit ms significativo de nuestro

resultado a obtener es UNO (Cn=1). CONCLUSIN: R=S si S<=9 y R=S+6 si S>9. De la tabla tambin podemos tambin obtener que:Cn(C4,S3,S2,S1,S0)=(10,11,12,13,14,15,16,17,18,19) o lo que es lo mismo:Cn=C4+F(S3,S2,S1,S0) donde F(S3,S2,S1,S0)=(10,11,12,13,14,15). Este es en realidad nuestro circuito corrector ya que ser ste quien indique cuando es que deben sumarse 0110 (como ya coment, la correccin es siempre que Cn=1). Ejerctese con mapas de K. y resuelva las funciones anteriores. Se dar cuenta de que el resultado de la simplificacin es: Cn=C4+S3S2+S3,S1 y que a su vez, llevndolo a compuertas universales en este caso a NAND, ser: Cn=[(C4)'(S3S2)'(S3,S1)']'

Veamos entonces nuestro circuito:

Analizando el circuito, se observa que en los resultados del 0 al 9 no se se realiza ninguna correccin. Por ejemplo, si el resultado es 1001 (910), C4=0 y la salida de la compuerta (1) es1; S3=1 y S2=0, por

lo que la salida de la compuerta (2) es 1; para la compuerta (3), las entradas son 1 y 0 y la salida es 1. Las tres entradas de la compuerta (4) son 1, lo que da como resultado que su salida sea 0. En forma similar se analizan los resultados del 10 al 15 y del 16 al 19 (este ltimo el ms fcil de explicar ya que al ser C4=1 la salida de la compuerta (1) es cero por lo que automticamente la salida de la compuerta (4) es 1); en estos casos la salida Cn=1, por lo que se

requiere la correccin y el 1 generado en el circuito corrector va a las


entradas del segundo sumador para originar el 0110 (610) as como tambin a formar parte del nmero final usndose como el bit ms significativo de nuestro resultado en BCD. Como algunos notarn, en todos los casos en que se usa la correccin el acarreo del segundo sumador es 1. Este bit de acarreo SI puede ser usado como el bit ms significativo del resultado BCD. Lo nico que podra ser una factor importante a tomar en cuenta es el tiempo de propagacin. Obviamente Cn est disponible antes que el acarreo de salida del segundo sumador y es por ello que suele usarse ste sobre todo si se colocarn varios circuitos de este tipo en cascada. Por lo tanto, si el tiempo no es un factor importante en su circuito, es indiferente usar cualquiera de los dos, as que pueden utilizar el que le resulte ms cmodo de cablear. Espero que les haya quedado claro. Cualquier cosa pregntenme en la clase virtual. Ahora les dejo algunos ejercicios. EJERCICIOS 1. Disee un circuito combinacional para obtener el complemento a 2 y el complemento a 1, a partir del cdigo binario de 4 variables. 2. Obtener el diagrama lgico de un sumador completo de dos variables A y B, usando slo compuertas NAND. 3. Disee un circuito lgico que genere el complemento a NUEVE de un nmero en BCD de4 bits. Utilice para tal fin el sumador completo de 4 bits 7483. 4. Usando 4 compuertas XOR y un circuito MSI de sumadores completos de 4 bits (7483), construya un sumadorrestador paralelo. Use una variable de seleccin de entrada Op, de tal manera que cuando Op=0 el circuito sumar y cuando Op=1 este restar. Ya saben como hacerlo ya que se vio en clases.

5. Disee un multiplicador binario que multiplique un nmero de 4 bits B=b3b2b1b0 por un nmero de 2 bits A=a1a0, para formar el producto C=c5c4c3c2c1c0. Esto puede lograrse mediante compuertas AND y sumadores paralelos de 4 bits. 6. Partiendo del cdigo BCD de 4 bits, disee un circuito que genere el cdigo EXCESO en3, y el complemento a nueve de este ltimo (por supuesto, tambin en exceso a 3) utilizando tecnologa SSI y MSI. En la prxima clase se ver el TEMA 9: Multiplexores y demultiplexores a nivel SSI y MSI. Aplicaciones.

Você também pode gostar