Você está na página 1de 53

I REPRESENTACION DE DATOS

1.1. Sistemas numricos Si bien es cierto que una computadora puede realizar una serie de tareas complejas, la verdad es que lo nico que comprende es 0 y 1. Estos 0 y 1 agrupados adecuadamente bajo un !ormato" pueden representar di!erentes tipos de in!ormaci#n binaria para el procesador tales como datos, c#digo ejecutable, caracteres, se$ales de control, etc. %omo resulta obvio pensar, el sistema de numeraci#n que puede traducir directamente la computadora es el &'()*'+, pero ,ste resulta muy di!-cil de comprender y manipular por los seres .umanos ya que la mayor-a estamos acostumbrados a usar el sistema de numeraci#n /E%'0)1. +tro de los inconvenientes de trabajar con el sistema binario es la documentaci#n, ya que para e2presar cualquier nmero en binario se necesitar3 muc.o m3s espacio que si se utilizara, por ejemplo, el sistema decimal o, mejor aun, el sistema 4E5)/E%'0)1. Estos tres tipos de sistemas de numeraci#n pertenecen a los sistemas num,ricos de base o raz r r67 para binario, r610 para decimal y r618 para .e2adecimal", tambi,n se les conoce como sistemas posicionales debido a que cada digito tiene un valor basado en su posici#n relativo al digito menos signi!icativo el que se encuentra m3s a la derec.a". 9ara determinar el valor que representa un nmero de base r en el sistema decimal se puede utilizar la siguiente !ormula:
N =

i = f

d @ r
i

e 1

/onde:

r es la base o ra-z del nmero di es un d-gito de la posici#n i del nmero ! es la cantidad de d-gitos de la parte !raccionaria e es la cantidad de d-gitos de la parte entera

En t,rminos generales, cualquier nmero es simplemente la suma de los productos de cada digito y su valor posicional. Ejemplo: %u3l es el valor de ;1.70<1 = en el sistema decimal> %omo se aprecia r6=, !6< y e67. El nmero ser-a: d1 d0 . d?1 d?7 d?; d?< y el valor en decimal: ( 6 3@=1 A 1@=0 A 2@=?1 A @=?7 A !@=?; A 1@=?< ( 6 3@= A 1@1 A 2B= A B7= A !B17= A 1B87= ( 6 1= A 1 A 0.< A 0 A 0.0;7 A 0,0018 ( 6 18.<;;8 ).ora, para convertir un numero del sistema decimal al sistema de base r, primero se toma la parte entera y se divide entre la ra-z r, el residuo de esta divisi#n se convertir3 en el digito menos signi!icativo de la parte entera. 1uego se divide el cociente resultado de la divisi#n anterior entre la ra-z r, el residuo ser3 el siguiente digito, se vuelve a dividir el ltimo cociente entre la ra-z r y as- sucesivamente se repite esta operaci#n .asta que el cociente sea 0. El nmero se !ormar3 tomando el

ltimo residuo como el digito m3s signi!icativo y el primer residuo obtenido como el digito menos signi!icativo. 9ara convertir la parte !raccionaria, se coge s#lo la parte !raccionaria tomando cero como parte entera" y se multiplica por la ra-z r. 1a parte entera del resultado de la multiplicaci#n ser3 el primer digito de la nueva parte !raccionaria. 1uego se elimina la parte entera se .ace 0" y se repite la operaci#n anterior tantas veces como d-gitos se desea obtener. Si en algn momento el resultado de la multiplicaci#n es 1 signi!icar3 que se .a obtenido el valor e2acto en el sistema de base r, en caso contrario, todos los d-gitos obtenidos .asta ese instante s#lo son una apro2imaci#n al valor real. Ejemplo: %onvertir C7.=D; al sistema de base D Eomamos la parte entera C7 y la dividimos entre la ra-z r6D C7BD cociente 11, residuo " digito menos signi!icativo" /ividimos el ultimo cociente entre la ra-z 11BD cociente 1, residuo ! 1BD cociente 0, residuo 1 digito m3s signi!icativo" 9or lo tanto la parte entera ser3: 1<= ).ora tomamos la parte !raccionaria 0.=D; y la multiplicamos por la ra-z 0.=D;@D 6 <.011 ! ser3 el 1er digito, luego eliminamos la parte entera. 0.011@D 6 0.0DD ser3 el 7do digito. 0.0DD@D 6 0.=;F ser3 el ;er digito. 0.=;F@D 6 ;.DD; 3 ser3 el <to digito, eliminar la parte entera. 0.DD;@D 6 =.<11 " ser3 el =to digito y as- sucesivamenteG Hna apro2imaci#n a C7.=D; es 1<=.<00;= D 1.1.1. /ecimal 1a base 10 es importante debido a que se usa en la vida diaria. Este sistema se compone de 10 numerales o s-mbolos: 0, 1, 7, ;, <, =, 8, D, C y FI al utilizar estos s-mbolos como d-gitos de un numero podemos e2presar cualquier cantidad. El sistema decimal evolucion# en !orma natural a partir del .ec.o de que el ser .umano tiene 10 dedos. 'ncluso, la palabra digito signi!ica dedo en lat-n. En el sistema digital se comienza a contar con el 0 en la posici#n de las unidades y se toma cada s-mbolo digito" en progresi#n .asta llegar al F, luego se incrementa en 1 la segunda posici#n decenas" y volvemos a empezar con 0 en las unidades. Este proceso contina .asta llegar a FF y se suma 1 en la tercera posici#n centenas" y se empieza con 0 en las 7 posiciones anteriores. Se repite este proceso mientras se desee. 1.1.7. &inario En el sistema binario s#lo .ay 7 s-mbolos o valores de d-gitos: 0 y 1. Sin embargo, con un conjunto de estos s-mbolos se puede representar cualquier cantidad denotada en cualquier sistema de numeraci#n. )l trabajar con nmeros binarios, generalmente se est3 restringido a utilizar una cantidad espec-!ica de d-gitos bits". Esta restricci#n se basa en los circuitos utilizados para representar estos nmeros binarios.

)l tener, este sistema s#lo los d-gitos 0 y 1, cualquier nmero que se desee representar se debe de .acer con una combinaci#n de ,stos. El conteo en binario inicia con 0, al sumarle 1 0A1" nos dar3 1. Si luego le sumamos 1 1 A 1" nos dar3 0 porque no e2iste el digito 7" m3s 1 de acarreo es decir 10 en total, que es la representaci#n de 7. (uevamente sumamos 1 10 A 1" resultar3 11 representaci#n de ;" y al sumarle 1 11A1" nos dar3 100 < en binario" y as- sucesivamente. (umeraci#n del 0 al 1= en decimal, binario y binario con < bits /ec 0 1 7 ; < = 8 D &in 0 1 10 11 100 101 110 111 &in < bits 0000 0001 0010 0011 0100 0101 0110 0111 /ec C F 10 11 17 1; 1< 1= &in 1000 1001 1010 1011 1100 1101 1110 1111 &in < bits 1000 1001 1010 1011 1100 1101 1110 1111

%omo se aprecia, el conteo empieza con 0 en las unidades luego se incrementa en 1 y despu,s en 1 m3s, pero como no e2iste el digito 7 en binario, para representar ,ste, se suma en 1 el siguiente digito obteniendo 7 en binario 10". Se incrementa en uno las unidades y se repite esto .asta que todos los d-gitos son 1s. 1as cantidades binarias pueden representarse por medio de cualquier dispositivo que solamente tenga dos estados de operaci#n o posibles condiciones. 9or ejemplo, un interruptor s#lo tiene dos estados: abierto o cerrado. )rbitrariamente podemos .acer que un interruptor abierto represente el 0 binario y que uno cerrado represente el 1 binario. Hna .oja con per!oraciones ser-a otro ejemplo, donde una per!oraci#n ser3 un 1 binario y la ausencia de ella es un 0 binario. )s-, podemos seguir mencionando otros ejemplos como un !oco el,ctrico encendido?apagado", una !otocelda iluminada u oscura", el transistor cortado o saturado", una cinta magn,tica magnetizada o desmagnetizada", etc. En los sistemas electr#nicos digitales, la representaci#n binaria se .ace por medio de voltajes o corrientes" que est3n presentes en las entradas o salidas de los diversos circuitos. 9or lo general, el 0 y el 1 binarios se representan con dos niveles de voltaje nominal, 0J para representar el 0 binario y A=J para el 1 binario, aunque para ser m3s e2actos esta representaci#n se .ace por medio de intervalos de voltaje: el intervalo entre 0 y 0.CJ representa un 0 y cualquiera entre 7 y =J representa un 1 1.1.;. 4e2adecimal Este sistema de numeraci#n est3 con!ormado por los 10 d-gitos del sistema decimal 0?F" y 8 d-gitos m3s, como por ejemplo el DI#ITO DIE$ 10" o el DI#ITO TRECE 1;", pero para evitar con!usiones cuando se

presenten los d-gitos 1 y 0 o ; juntos, se .a convenido representarlos por las letra ) y / respectivamente. Entonces, )610, &611, %617, /61;, E61< y K61=. Este sistema proporciona representaciones breves que son convenientes para nmeros con mltiples bits en un sistema digital. Ejemplo: 1a representaci#n del entero 7;C;0 en binario de 18 bits es 0101110100010110, es decir que se necesitan 18 d-gitos, mientras que en .e2adecimal es =/18 =/18." siendo necesario s#lo < d-gitos. /ebido a que su base es potencia de 7 1867<" < d-gitos binarios pueden representarse con un solo digito .e2adecimal, tal como se aprecia a continuaci#n. 0101 1101 0001 0110 /-gitos &inarios = / 1 8 /-gitos 4e2adecimales 1.2. Representaci%n &e enteros Hn detalle muy importante en la representaci#n de enteros es la cantidad de bits que se van a emplear, ya que de ello va a depender el rango de valores que se pueden representar. Ejemplo: Hn nmero de < bits implicar3 que se tiene < d-gitos binarios y como cada uno de ellos puede tomar el valor de 0 o 1 signi!icar3 que se pueden !ormar 7< combinaciones di!erentes y que cada una de ellas puede representar un valor. 9or lo tanto, con < bits se puede representar 18 valores di!erentes que podr-an estar comprendidos rango" entre 0 y 1= o entre ?C y D o cualquier convenci#n que se establezca. 1.7.1. Sin signo En este tipo de notaci#n s#lo se van a representar enteros positivos sin signo". El menor valor a representar ser3 el 0 y el mayor valor depender3 de la cantidad de bits a emplear. Si ( es la cantidad de bits a emplear, 7 (?1 ser3 el mayor valor que se podr3 denotar, as- por ejemplo, con < bits el mayor valor ser3 1= 7<618"I con C bits, 7== 7C67=8" y con 18 bits .asta 8==;= 71868==;8". En todos los casos, el valor es uno menos debido a que se tiene en cuenta el 0 como primer valor a representar. Ejemplo: 9ara representar el entero 1C;D se necesitan por lo menos 11 bits, ya que este entero en binario es 11100101101. 1a representaci#n de este valor en un !ormato de 18 bits ser3 0000011100101101 y en !orma abreviada .e2adecimal" ser3 0D7/.. 1.7.7. %on signo )qu- se tiene en cuenta los valores negativos y por ende, que la cantidad a representar de valores positivos sea igual a la cantidad de valores negativos. 1os dos sistemas m3s usados para representar un nmero con signo son:

<

a" &it de signo.? Se utiliza el bit m3s signi!icativo el que se encuentra m3s a la izquierda" para representar el signo del nmero: 0 para indicar que el nmero es positivo y 1 para indicar que es negativo. Esto trae como consecuencia que, si se utiliza ( bits para representar el nmero s#lo se podr3n emplear (?1 bits 7 (?1 valores di!erentes" ya que 1 bit se usar3 para el signo y por lo tanto el rango de valores a representar disminuir3 a la mitad: una mitad ser3 para representar valores positivos y la otra mitad los valores negativos. Ejemplo: El entero ?1C;D en 18 bits ser3 igual que A1C;D pero estableciendo en 1 el bit m3s signi!icativo es decir: 1000011100101101 y en !orma abreviada CD7/.. %on 18 bits se podr3 denotar desde ?;7D8D a A;7D8D 718?1? 1" es decir desde 1111111111111111 6 KKKK. a 111111111111111 6 DKKK.. Hna de las desventajas de este sistema es la doble representaci#n del 0, ya que se puede denotar como 00...0 A0" y como 100G0 ?0". )dem3s, no permite realizar las operaciones aritm,ticas directamente. Ejemplo: *estar C8 y 7< en C bits C8 6 01010110 y 7<600011000 L ?7<610011000, luego C8A 6 01010110A ?7< 6 10011000 ???????????????????????????????? 87 M 11101110 6 ?110 %omo se aprecia el resultado es ?110 cuando debi# ser 87. En la actualidad este sistema se emplea nicamente para la codi!icaci#n de nmeros con punto !lotante. b" %omplemento a 7.? El complemento a r de un numero ( de un sistema de base r es rn'N, donde n es la cantidad de d-gitos de ( y el complemento a r?1" es (rn'1)'N. Ejemplo: 4allar el complemento a 10 de ;F7 10;?;F7680C Ejemplo: 4allar el complemento a F de ;F7 10;?1?;F7680D Es decir, que el complemento a r de ( es igual al complemento a r?1" de (, m3s 1. ).ora si a un nmero 5 le restamos N entonces: 5?N 6 5?NArn?rn 6 5A rnON"?rn 6 5A%N r"?rn /onde %N r" es el complemento a r de N.

Ejemplo: 4allar 87D?;F7 en el sistema decimal" %omo se observa, r610 y n6;, entonces: 87D?;F76 87DA80C?10; 6 17;=?1000 6 7;=. El restarle 10; es equivalente a simplemente eliminar el digito m3s signi!icativo al resultado por desbordamiento" En el sistema binario, 5?N 6 5A%N 7"?7n y como %( r"6 %( r?1"A1, entonces: 5?N 6 5A %N 1"A1"?7n. /onde %N 1" es el complemento a 1 de N, pero el complemento a 1 de un numero en binario es simplemente el cambio de 0s por 1s y 1s por 0s. 9or lo tanto, en binario, la di!erencia de 5 y N se puede resumir en: Sumar a 5, N complementado, es decir, convertir los 1s en 0s y los 0s en 1s, luego sumarle 1 y !inalmente eliminar el digito m3s signi!icativo. Ejemplo: *estar 1DF?87 r67 , n6C bits" 1DF610110011 87600111110 ?87611000001A1611000010 1uego: 1DF 6 10110011 A ?87 6 11000010 ??????????????????????? 11D 1 111 1 1 pero al eliminar el bits m3s signi!icativo queda 01110101 6 11D 1.3. Representaci%n &e reales 9ara poder representar nmeros con parte !raccionaria se deben tener en cuenta tres cosas: como representar la parte entera, la parte decimal y el punto decimal. E2isten dos notaciones: 1.;.1. %on punto !ijo En esta notaci#n se establece una determinada cantidad de bits para la parte entera y otra para la parte !raccionaria. El punto quedar3 arbitrariamente !ijado entre estos bits. 9or ejemplo el nmero ;.8<1 en binario es apro2imadamente 11.101001000001, si el !ormato que se va a usar es de C bits y el punto se !ija en la mitad, entonces la representaci#n ser-a: 111010 ;).", donde los d-gitos en ne*rita son la parte entera. Si para representar este mismo nmero se !ijara el punto decimal despu,s de los 7 bits m3s signi!icativos la representaci#n ser-a: 11101001 EF.". %omo se comprender3, al observar los nmeros ;). y EF. o en binario" no .ay !orma de determinar la posici#n del punto decimal a no ser que previamente se .aya establecido o acordado esta. 9or lo general la posici#n del punto se establece durante el dise$o del .ardPare y queda !ijo a ella. El inconveniente de esta notaci#n es que la precisi#n queda !ija, por ejemplo en el primer caso solo se tienen < bits para representar la parte !raccionaria, mientras que en el segundo caso se tienen 8 bits, con lo que se obtiene mayor precisi#n ;).60011.10106;.87= I EF.611.1010016;.8<087=". 9or otro lado, si la parte entera en el nmero a representar !uera mayor o igual que < este no podr-a ser denotado usando la !ijaci#n del punto decimal del segundo caso porque se necesitar-a m3s de 7 bits para representar estos

valores. 9or lo tanto, al permanecer el punto !ijo, en algunos casos se necesitaran m3s bits en la parte !raccionaria correr el punto .acia la izquierda" y en otros en la parte entera correr el punto .acia la derec.a". 1.;.7. %on punto !lotante El inconveniente del punto !ijo es resuelto con un punto !lotante, es decir, un punto que pueda ser corrido .acia la izquierda o .acia la derec.a segn sea necesario. El proceso se inicia convirtiendo el nmero al sistema de numeraci#n binario y luego se normaliza. 1a normalizaci#n consiste en correr el punto .acia la izquierda o .acia la derec.a de tal !orma que el 1 que se encuentre m3s .acia la izquierda quede posicionado a la izquierda del punto. El valor resultante se multiplica por 7( donde ( es la cantidad de posiciones que se .a corrido el punto. ( es positivo si el punto se corre .acia la derec.a y negativo en caso contrario. Ejemplo: %onvertir ;D.<=F7 al !ormato de punto !lotante de ;7 bits. 9rimero .ay que convertirlo a binario. Htilizar el m,todo de multiplicaciones sucesivas por 7, para convertir la parte decimal, es muy largo y tedioso, as- que usaremos multiplicaciones por 18 y lo que obtendremos son los d-gitos en .e2adecimal, los cuales son sencillos de pasar a binario. ;D en binario es 100101, a.ora vamos a la parte decimal 0.<=F7@18 6 +.;<D7 0.;<D7@18 6 ".===7 0.===7@18 6 ,.CC;7 0.CC;7@18 6 1!.1;17 0.1;17@18 6 2.0FF7 0.0FF7@18 6 1.=CD7 0.=CD7@18 6 -.;F=7 0.;F=7@18 6 ..;7;7 0.;7;7@18 6 ",1D17 0.1D17@18 6 2.D;F7 0.D;F7@18 6 11.C7D7 0.C7D7@18 6 13.7;=7 0.7;=7@18 6 3,D8;7 El nmero en binario ser3:
1 1 1.0111010110001110001000011001011001010010101111010011

D = C E 7 1 F 8 = 7 & / ;

0111 0101 1000 1110 0010 0001 1001 0110 0101 0010 1011 1101 0011

y normalizado:
1.00101011101011000111000100001100101100101001010111101 2 7=

El !ormato para representar nmeros con parte !raccionaria esta con!ormado por 1 bit S para el signo y el resto de bits se distribuye entre la caracter-stica C y la mantisa /. 1a caracter-stica es la representaci#n del e2ponente E en e2ceso a 7(?1?1, donde ( es la cantidad de bits que tiene la caracter-stica.

(H0 6 ?1"S @ 1.0 @ 7E E2isten dos !ormatos b3sicos:

donde E 6 %?7(?1A1

a" Kormato de precisi#n simple ;7 bits", que consta de: 1 bit para el signo S" C bits para la caracter-stica %" y 7; bits para la mantisa 0" 1a secuencia de bits del nmero ser3 la siguiente: S 6 0, debido a que el nmero es positivo. % 6 EA7(?1?1 6 =A7C?1?1 6 =A17C?1 6 1;7 6 10000100 7 0 6 00101011101011000111000 que son los 7; d-gitos que se encuentran a la derec.a del punto del numero normalizado. 9or lo tanto, la representaci#n del valor m3s pr#2imo a ;D.<=F7 en ;7 bits es: 1 0010 1 0101 11 1 0110 11 1000 6 <71=/8;C.. 9ara .allar su valor en decimal, se toma el nmero normalizado pero s#lo con los 7; d-gitos a la derec.a del punto mantisa" y se corre el punto .acia la derec.a para convertirlo en entero, esto signi!ica que el punto tendr3 que desplazarse 7; posiciones a la derec.a y por ende tendr3 que restarse esta cantidad al e2ponente. 1uego el entero se pasa a decimal y se divide entre 7 elevado al nuevo e2ponente: 1.00101011101011000111000 2 7= , convertido a entero queda: 1001 0101 1101 0110 0011 1000 2 7=?7; F=/8;C. 2 7?1C6 FC1FD0< 2 7?1C 6 FC1FD0< B 71C FC1FD0< B 7871<< 6 ;D,<=F1FDFFC0<8CD= b" Kormato de precisi#n doble 8< bits" 1 bit para signo S" 11 bits para la caracter-stica %" =7 bits para la mantisa 0" 1a secuencia de bits del nmero ser3 el siguiente: S 6 0, debido a que el nmero es positivo. % 6 EA7(?1?1 6 =A711?1?1 6 =A107<?1 6 107C 6 10000000100 b 0 6 1010101110101100011100010000110010110001010111101001 que son los =7 d-gitos a la derec.a del punto 1a representaci#n del valor m3s pr#2imo a ;D.<=F7 en 8< bits es: <0<)&)%D10%&7F=E. muy e2tenso para representarlo en binario" Su valor en decimal es:
1.0010101110101100011100010000110010110010100101011110 2 7= 10010101110101100011100010000110010110010100101011110 2 7?<D

17&)%D10%&7F=E. 2 7?<D 6 =7D1F1;D7;DFFF07 2 7?<D =7D1F1;D7;DFFF07 B 7<D 6 =7D1F1;D7;DFFF07 B 1<0D;D<CC;==;7C C

;D.<=F1FFFFFFFFFF=8118CC08;F<=871 mayor precisi#n" Hna vez obtenida las respectivas representaciones de los valores con parte !raccionaria, .ay que evaluar el E**+* de precisi#n. 4ay 7 tipos de error: por /EKE%E+ y por E5%ES+. El primero se da cuando la representaci#n obtenida es menor que el valor real y la segunda cuando es mayor, obviamente se deber3 elegir aquella que tenga menor error. En el caso del !ormato de ;7 bits, podemos apreciar que el digito 7< del numero normalizado despu,s del punto" es 1 por lo que procedemos a redondear aumentar en 1 la mantisa" lo cual nos dar3 F=/8;F. 2 7 ?1C 6 ;D,<=F701C17D<<1<087=. Esta representaci#n, aunque genera un error por e2ceso, es la m3s cercana al valor real. %on el !ormato de 8< bits ocurre algo semejante. El bit =; del numero normalizado tambi,n es 1, por lo que se procede a redondear con lo que se obtiene 17&)%D10%&7F=K. 2 7?<D 6 ;D,<=F700000000007D1D11 que como se aprecia es bastante pr#2imo a ;<.<=F7. 1.!. Otros c%&i*os En ocasiones, se utilizan otros c#digos binarios para nmeros decimales y caracteres al!anum,ricos. 1as computadoras digitales tambi,n emplean otros c#digos binarios para aplicaciones especiales. Jeamos algunos de ellos: 1.=.1. %#digo Qray Es la representaci#n de un conjunto de valores de tal manera que los d-gitos que lo con!orman binario" cambia s#lo uno de ellos con!orme avanza de un valor al siguiente. 9or ejemplo, ; en binario de cuatro bits es 0011 y < es 0100 como se aprecia, para pasar de ; a <, tres bits cambian su estado, lo cual podr-a producir uno o m3s estados intermedios, si los tres bits no cambiasen simult3neamente, esto no ocurre en c#digo Qray. 9ara !ormar una tabla de nmeros en c#digo Qray de ( bits se debe seguir las siguientes reglas: a" Hn c#digo Qray de 1 bit tiene dos palabras c#digo: 0 y 1. b" 1as primeros 7( palabras de (A1 bits son iguales a las palabras de ( bits precedidas por un 0. c" 1as ultimas 7( palabras de (A1 bits son iguales a las palabras de ( bits escritas en orden inverso y precedidas por un 1. Ejemplo0 (61 0 1

(67 0 01 ??? 11 1

(6; 0 0 1 011 01

????? 11

111 1 1 1 9ara convertir binario a Qray se deben seguir los siguientes pasos: a" 1os bits de un c#digo Qray de ( bits se numeran de derec.a a izquierda de 0 a (?1. b" El bit i es 0 si el bit i e i+1 de la palabra en binario son iguales y 1 en caso contrario. Ejemplo: %onvertir 1011 a c#digo Qray %omo el bit 0 y 1 son iguales, el bit 0 ser3: %omo el bit 1 y 7 son di!erentes, el bit 1 ser3: 1 %omo el bit 7 y ; son di!erentes, el bit 7 ser3: 1 %omo el bit ; y < se asume 0" son di!erentes, el bit ; ser3: 1 9or lo tanto 1011 en c#digo Qray es 1110 1.=.7. &%/ /ecimal codi!icado en binario, pertenece a los sistemas de numeraci#n no posicionales y utiliza una asignaci#n directa del equivalente binario del digito decimal. %ada digito decimal se codi!ica por < d-gitos binarios, pero como con < bits se pueden representar .asta 18 valores, las 8 ltimas combinaciones despu,s del F" que no se usan no tienen ningn valor cuando se utiliza &%/. Ejemplo: %odi!icar = en &%/ 6 0101 igual que en binario" Ejemplo: %odi!icar 1D; en &%/ 1 6 0001, D60111 y ;60011 9or lo tanto 1D= en &%/ ser3: 000101110101 1.=.;. )S%'' 0uc.as aplicaciones requieren el manejo de datos que no solo est3n !ormados por nmeros sino tambi,n por letras del al!abeto y por ciertos caracteres especiales. Hn conjunto de caracteres al!anum,ricos incluye los 10 d-gitos decimales, las 78 letras del al!abeto y otros caracteres como R, A, ?, etc. 9or lo que se necesitan 8 bits para codi!icarlos. 9ero si adem3s se incluyen letras maysculas o minsculas entonces se necesitar-an D bits, con lo que se puede codi!icar .asta 17C caracteres. Este conjunto de c#digos .a sido estandarizado y tiene el nombre de )S%'' %#digo est3ndar americano para intercambio de in!ormaci#n" y en la actualidad .a sido e2tendido a C bits, es decir, 7=8 caracteres.

10

1.". Ejercicios 1.=.1. *esueltos a" %ual es el menor entero negativo y el mayor entero positivo que se puede almacenar en un !ormato de 10 bits donde tambi,n se representar3n nmeros negativos usando complemento a 7 El menor entero positivo ser3: ?710?1 6 ?7F 6 ?=17 El mayor entero positivo ser3: 710?1?1 6 7F?1 6 =11 b" %onvertir C=0; a base 1; C=0;B1; cociente 8=<, residuo 1 digito menos signi!icativo" 8=<B1; cociente =0, residuo ! =0B1; cociente ;, residuo 11 ;B1; cociente 0, residuo 3 digito m3s signi!icativo" 9or lo tanto C=0; en base 1; ser3: ;&<1 c" %onvertir <8.<C; a base 18 9rimero la parte entera <8B18 cociente 7, residuo 1< 6 E 7B18 cociente 0, residuo 7 6 2 <8 en base 18 es 7E ).ora la parte !raccionaria 0.<C;@18 6 +.D7C D 0.D7C@18 6 11.8<C 11 0.8<C@18 6 1 .;8C 10 0.;8C@18 6 ".CCC = 0.CCC@18 6 1!.70C 1< Hna apro2imaci#n a <8.<C; es 7E.D&)=E 18

D & ) = E

d" Si el resultado anterior se almacena en una variable del tipo real de precisi#n simple ;7 bits" S%u3l es la secuencia de bits en este !ormato> <8.<C;67E.D&)= 186101110.01111011101001011110 (ormalizado: 1. 111 1111 111 1 1 11110 2 7= 9or lo tanto: S 6 0 por ser positivo" % 6 EA7(?1?1 6 =A7D?1 6 1;7 6 10000100 7 (6 bits de la caracter.6C" 0 6 01110011110111010010111 s#lo 7; bits", pero como el bit 7< es 1, .ay que redondear a 01110011110111010011000 A1" Hniendo todos los bits: 01000010001110011110111010011000 )breviado: <7;FEFC. e" S%ual es el valor real almacenado en la variable del ejercicio anterior> El nmero anterior normalizado a 7; bits y redondeado es: 1.01110011110111010011000 2 7= %onvertido a entero: 101110011110111010011000 2 7=?7; %onvertido a .e2adecimal &FEEFC 2 7?1C %onvertido a decimal 171C=7<0 2 7?1C 6 <8,<C;001D0CFC<;D= 11

!" Si ), & y % son variables enteras sin signo de C bits que contienen los valores 70;, 1=1 y 0 respectivamente. /etermine el valor de % luego de .acer la siguiente operaci#n %6)A& ) 6 70; 6 11001011 A & 6 1=1 6 10010111 ?????????????????????? ;=< 6 101100010 %omo se observa el resultado es ;=<, pero se necesitan F bits para poder representarlo y la variable % solo tiene C bits, por lo que s#lo se tomar3n los C bits menos signi!icativos el bits m3s signi!icativo se desborda". 9or lo tanto % 6 01100010 6 FC g" Si ), & y % son variables enteras con signo de 18 bits que contienen los valores 7C;F1, 1=018 y 0 respectivamente. /etermine el valor de % luego de .acer la siguiente operaci#n %6)A& ) 6 7C;F1 6 0110111011100111 A & 6 1=018 6 0011101010101000 ?????????????????????????????????????? <;<0D 6 1010100110001111 )parentemente el resultado es <;<0D incluso no .ay desbordamiento", pero al ser % una variable entera con signo y como el bit m3s signi!icativo del resultado es 1 inmediatamente nos lleva a pensar que el resultado es negativo, por lo que procedemos a .allar su complemento a 7 para determinar su verdadero valor. % 6 1010100110001111 0101011001110000 0s a 1s y 1s a 0s" 1 sumamos 1" ?????????????????????????? 0101011001110001 6 7717F 9ero como se .a complementado, entonces: C 1 '2212-. )unque parezca incre-ble, el sumar dos nmeros positivos puede dar como resultado un nmero negativo. ." %onvertir a c#digo Qray 1=C C bits" 9rimero convertimos 1=C a binario de C bits esto es: 10011110 )nalizando los bits de derec.a a izquierda tenemos: 0 1 1 1 1 1 1 1 0 1 0 0 0 1 1=C en codigo Qray es 11010001 6 70F i" %odi!ique en binario 7C;D &%/" 760010, C61000, ;60011 y D60111 7C;D en &%/ es 0010100000110111

17

1.=.7. 9ropuestos a" %ual es el menor entero negativo y el mayor entero positivo que se puede almacenar en un !ormato de enteros con signo de C bits. b" Se desea representar s#lo enteros positivos con 17 bits, S%u3l es el mayor entero que se puede representar> c" %onvertir FD0=C a base D. d" %onvertir 7;.C1 a base 17 e" /etermine la secuencia de bits para la representaci#n de ?DF0;.;D en un !ormato de ;7 bits. !" /etermine el verdadero valor en decimal" almacenado en el ejercicio anterior. g" /etermine la secuencia de bits para la representaci#n de 0.00=1D en un !ormato de ;7 bits. ." /etermine el verdadero valor en decimal" almacenado en el ejercicio anterior. i" Si ), & y % son variables enteras con signo de 18 bits que contienen los valores ?10D;7, 8F;7 y 0 respectivamente. /etermine el valor de % luego de .acer la siguiente operaci#n %6)?&. j" Si ), & y % son variables enteras sin signo de 10 bits que contienen los valores ;D7, FFC y 0 respectivamente. /etermine el valor de % luego de .acer la siguiente operaci#n %6)A&. T" %onvertir a c#digo Qray C78 10 bits". l" %odi!ique en binario C0;D &%/"

1;

II CIRC2ITOS DE 3O#ICA DI#ITA3


2.1. Compuertas l%*icas. 1as compuertas l#gicas son bloques de .ardPare que producen se$ales de 0 o 1 cuando los requerimientos l#gicos de entrada son satis!ec.os. Esta caracter-stica permite utilizar el 4l*e5ra 5ooleana como .erramienta para el an3lisis y dise$o de circuitos l#gicos digitales. %ada compuerta tiene un s-mbolo gr3!ico distinto y su !uncionamiento puede describirse por medio de una e2presi#n algebraica. 1a relaci#n de entradaBsalida de las variables binarias para cada compuerta puede representarse en !orma tabular por una tabla de verdad. 1os nombres, s-mbolos, tablas de verdad y !unciones algebraicas de las siete compuertas l#gicas se listan en la !igura 7.1

%6)V& ) & % 0 0 0 0 1 0 1 0 0 1 1 1 %6)A& ) & % 0 0 0 0 1 1 1 0 1 1 1 1

%6 ) 0 0 1 1

)&"U & % 0 1 1 0 0 0 1 1

Kigura 7.1 %ompuertas l#gicas digitales

1<

1as compuertas l#gicas pueden combinarse para producir circuitos l#gicos. 2.2. 6l*e5ra 5ooleana El 3lgebra booleana di!iere de !orma signi!icativa del 3lgebra en que las constantes y variables booleanas s#lo pueden tener, en di!erentes ocasiones, dos valores posibles: 0 o 1. 1as tres operaciones l#gicas b3sicas son )(/, +* y complemento. Hna !unci#n booleana puede e2presarse algebraicamente con variables binarias, s-mbolos de operadores l#gicos, par,ntesis y signos de igualdad. 9ara un valor dado de las variables, la !unci#n s#lo puede ser 0 o 1. 1a relaci#n entre una !unci#n y sus variables binarias se pueden representar en una tabla de verdad, donde se lista las 7( combinaciones de las ( variables binarias y, tambi,n, mediante un diagrama l#gico. Ejemplo0 K 6 )V &A%"U ), &, % y K, por ser variables booleanas s#lo puede ser 0 o 1.

En la !igura 7.7 se muestra la tabla de verdad con todas las posibles combinaciones de ), & y %, as- como el diagrama l#gico para la !unci#n K
) 0 0 0 0 1 1 1 1 & 0 0 1 1 0 0 1 1 % 0 1 0 1 0 1 0 1 K 0 0 0 0 1 0 0 0

Kigura 7.7 Eabla de verdad y diagrama l#gico para K 6 )V &A%"U

1a tabla de verdad la podemos interpretar de la siguiente manera: %uando las entradas ), & y % son 0, la salida K es 0 que es lo que se obtiene al reemplazar ), & y % en la !unci#n. K6 )V &A%"U 6 0V 0A0"U 6 0V0U 6 0V1 6 0 ).ora si )61, &60 y %60, K tomar3 el valor de:

1=

K6 )V &A%"U 6 1V 0A0"U 6 1V0U 6 1V1 6 1 )s-, se va probando con todas las posibles combinaciones de las entradas ), & y % 7;6C combinaciones" y se van obteniendo los valores de la salida K. E2isten un conjunto de reglas que se pueden usar para simpli!icar e2presiones l#gicas, es decir, para reducir el nmero de t,rminos de una e2presi#n. )l .acer esto, la e2presi#n reducida generar3 un circuito l#gico menos complejo que el de la e2presi#n original. 1as identidades se listan a continuaci#n: 1" 7" ;" <" =" 8" D" C" )A06) )A161 )A)6) )A)U61 )A&6&A) )A &A%"6 )A&"A% )V &A%"6)&A)% )A&"U6)U&U F" 10" 11" 17" 1;" 1<" 1=" 18" 1D" )V060 )V16) )V)6) )V)U60 )V&6&V) )V &V%"6 )V&"V% )A&V%6 )A&"V )A%" )V&"U6)UA &U )U"U6)

1as identidades C" y 18" se conocen como los teoremas de /e0organ y se pueden generalizar de la siguiente manera: )A&A%A/AEAG"U 6 )U&U%U/UEUG )&%/EG"U 6 )UA&UA%UA/UAEUG 2.3. /intrminos 7 /a8trminos 1a representaci#n m3s b3sica de una !unci#n l#gica es la tabla de verdad, pero la in!ormaci#n contenida en ella puede tambi,n e2presarse en !orma algebraica mediante una suma can%nica o un pro&ucto can%nico. 1a suma can%nica de una !unci#n l#gica es la suma de los productos l#gicos de las variables correspondientes a las l-neas de la tabla de verdad para las que la !unci#n produce una salida de 1. %uando en la columna de la variable .ay un 1 se toma la variable y cuando .ay un 0 se toma su complemento. El pro&ucto can%nico de una !unci#n l#gica es un producto de las sumas l#gicas de las variables correspondientes a las combinaciones de entradas para las que la !unci#n produce una salida de 0. En este caso, cuando en la columna de la variable .ay un 0 se toma la variable y cuando .ay un 1 se toma su complemento. 9or ejemplo, dada la !unci#n l#gica de la tabla siguiente:
1-nea 0 1 7 5 0 0 0 N 0 0 1 W 0 1 0 K 1 0 0

18

; < = 8 D

0 1 1 1 1

1 0 0 1 1

1 0 1 0 1

1 1 0 1 1

1as l-neas donde K es 1 son: 0, ;, < 8 y D y el producto l#gico de la !ila: 0 es 5UNUWU en la columna 5 es 0, en N es 0 y en W es 0 ; es 5UNW en la columna 5 es 0, en N es 1 y en W es 1 < es 5NUWU en la columna 5 es 1, en N es 0 y en W es 0 8 es 5NWU en la columna 5 es 1, en N es 1 y en W es 0 D es 5NW en la columna 5 es 1, en N es 1 y en W es 1 9or consiguiente la suma can#nica de la !unci#n es: K 6 X2yz 0,;,<,8,D" 6 5UNUWU A 5UNW A 5NUWU A 5NWU A 5NW 9ara el producto can#nico se tiene que: 1as l-neas donde K es 0 son: 1, 7 y = y la suma l#gica de la !ila: 1 es 5ANAWU en la columna 5 es 0, en N es 0 y en W es 1 7 es 5ANUAW en la columna 5 es 0, en N es 1 y en W es 0 = es 5UANAWU en la columna 5 es 1, en N es 0 y en W es 1 K 6 Y 2yz 1,7,=" 6 5ANAWU" 5ANUAW" 5UANAWU" 2.!. Simpli9icaci%n por 6l*e5ra :ooleana 0anipulando una e2presi#n booleana, de acuerdo con las reglas del 3lgebra booleana, se puede obtener una e2presi#n m3s simple, una e2presi#n que requiera menos compuertas l#gicas. Ejemplo: Simpli!icar K 6 5NUW A 5NUWU

Kigura 7.; /iagrama l#gico de K 6 5NUW A 5NUWU

Si .acemos que: ) 6 5NU K 6 )W A )WU K 6 ) W A WU" K6)1 K6) K 6 5NU

entonces tenemos: si aplicamos la identidad D" queda: aplicando la identidad <" W A WU 6 1 por la identidad 10" regresando el valor original

1a tabla de verdad del diagrama original y el simpli!icado" y el diagrama l#gico simpli!icado se muestran en la !igura 7.<

1D

5 0 0 0 0 1 1 1 1

N 0 0 1 1 0 0 1 1

W 0 1 0 1 0 1 0 1

K 0 0 0 0 1 1 0 0

Kigura 7.< Eabla de verdad y /iagrama l#gico y para K 6 5NU

9or lo tanto las e2presiones booleanas: 5NUW A 5NUWU y 5NU son equivalentes, esto implica que ambas e2presiones tienen la misma tabla de verdad a pesar que sus diagramas l#gicos son di!erentes. (#tese que mientras en el diagrama l#gico original se requieren D compuertas l#gicas 7 (+E, < )(/ y 1 +*" en el diagrama simpli!icado solo se necesitan 7 compuertas 1 (+E y 1 )(/". 9ero lo que debe quedar bien claro es que ambos diagramas tienen la misma tabla de verdad, es decir, que si a ambos diagramas se les aplica las mismas entradas, ,stos generar3n las mismas salidas. Ejemplo: Simpli!icar K 6 )U A &" ) A &"

Kigura 7.= /iagrama l#gico K 6 )UA&" ) A&"U

K 6 )U A &" ) A &" K 6 )U A &") A )U A &"& K 6 )U) A &) A )U& A &&

por la identidad D" o como, simplemente, el producto de 7 binomios

1C

)plicando la 17" )U)60 y por la 11" &&6& queda K 6 0 A &) A )U& A & K 6 0 A )& A )U& A & K 6 0 A ) A )U"& A & K 6 0 A 1& A & K60A&A& K60A& K6& por la 1;" &)6)& por la D" por la <" por la 10" por la ;" por la 1"

%on esto queda demostrado que )U A &" ) A &" puede ser reemplazado por simplemente &, es decir, que la salida K s#lo y nicamente depende de la variable de entrada & y no se toma en cuenta, para nada, el valor que pueda tomar la variable ), esto tambi,n se puede apreciar en la tabla de verdad y el diagrama simpli!icado de la e2presi#n original de la !igura 7.8
) 0 0 1 1 & 0 1 0 1 K 0 1 0 1

Kigura 7.8 Eabla de verdad y /iagrama l#gico y para K 6 &

En este caso se puede ver como queda simpli!icada una e2presi#n booleana al m32imo. %abe recalcar, una vez m3s, que la tabla de verdad que se muestra en la !igura 7.8 satis!ace las condiciones de salida para ambos diagramas l#gicos el original y el simpli!icado"

Ejemplo: Simpli!icar K 6 )U A %" & A /U""Z

1F

Kigura 7.D /iagrama l#gico de K 6 )UA%" &A/U""U

4acemos que 56)UA% y N6&A/U y sustituimos en K K 6 5N"U por la 18" K 6 5U A NU restableciendo valores K 6 )U A %"U A & A /U"U por la C" K 6 )%U A &U/

Kigura 7.C /iagrama l#gico de K 6 )%U A &U/

1a tabla de verdad que satis!ace las condiciones de salida de los dos diagramas l#gicos es la siguiente:
) 0 0 0 0 0 0 0 0 & 0 0 0 0 1 1 1 1 % 0 0 1 1 0 0 1 1 / 0 1 0 1 0 1 0 1 K 0 1 0 1 0 0 0 0 ) 1 1 1 1 1 1 1 1 & 0 0 0 0 1 1 1 1 % 0 0 1 1 0 0 1 1 / 0 1 0 1 0 1 0 1 K 1 1 0 1 1 1 0 0

Kigura 7.F Eabla de verdad de K 6 )%U A &U/

En este caso, como se observar3 en los diagramas, no se .a simpli!icado muc.o la e2presi#n, pero se .a obtenido un equivalente con mayor presencia de compuertas )(/. 2.". Simpli9icaci%n por mapa &e ;arnau*<.

70

Si bien es cierto que una e2presi#n booleana se puede simpli!icar mediante las relaciones b3sicas del 3lgebra booleana, en algunas ocasiones esto se puede complicar debido a que no esta de!inido una serie de pasos sucesivos a realizar en el proceso de simpli!icaci#n. E2iste un m,todo gra!ico que proporciona un procedimiento sencillo y directo para simpli!icar las e2presiones booleanas y se denomina 0apa de [arnaug.. El 0apa de [arnaug. se puede utilizar para resolver problemas con cualquier nmero de variables de entrada, su utilidad pr3ctica se limita a seis variables, con una cantidad mayor ser3 necesario el empleo de una computadora. El m,todo consiste en agrupar 7 o m3s t,rminos de una suma can#nica en los cuales e2ista un cambio m-nimo de bits c#digo Qray" entre las variables que los con!orman. 9or ejemplo la suma can#nica )&% A )&%U 111 y 110, respectivamente", puede simpli!icarse a )& %A%U" 6 )& 1a idea es .acer un mapa colocando juntas las l-neas cuyos valores en binario tengan un cambio m-nimo de sus bits. 9or ejemplo la l-nea 0 0000" con las l-neas 1, 7, < y C 0001, 0010, 0100 y 1000, respectivamente". 1a l-nea 7 0010" con las l-neas 0, ;, 8 y 10 0000, 0011, 0110 y 1010" 1a l-nea = 0101" con las l-neas 1, <, D y 1; 0001, 0100, 0111 y 1101" 1a l-nea 1= 1111" con las l-neas D, 11, 1; y 1< 0001, 0100, 0111 y 1101" Siguiendo esta regla un mapa de 18 l-neas < variables" seria el siguiente:

1 0 7 8 1 < 1 0 7

C ! 1 2 , 0

F 1 " 1 3 1

1 1 3 + 1 " 1 1 ;

1 0 2 . 1 ! 1 7

C 0 < 17 C 0

Kigura 7.10 0apa de [arnaug. para < variables

%omo se observa la l-nea 0 tiene adyacentes a las l-neas 1 y < pero no a las l-neas 7 y C. 'gual ocurre con la l-nea 7 que tiene adyacentes a las l-neas ; y 8 pero no a las l-neas 0 y 10. Este inconveniente se resuelve copiando la tabla alrededor de la tabla original como se muestra en la !igura 7.10 Hna vez que se tiene el mapa se !orman grupos de 7, <, C, 18, etc. l-neas adyacentes cuya !unci#n de salida es 1. Esto signi!ica que se pueden agrupar de: 7 t,rminos: 1as l-neas 0,1", 0,<", 0,7", 0,C"I =,1", =,D", =,<", =,1;"I 11,F", 11,;", 11,10", 11,1=", etc. 71

< t,rminos: 1as l-neas 0,1,;,7", 0,<,17,C", 0,1,<,=", 0,7,C,10"I 1,=,1;,F", 1,;,F,11", 1,;,=,D"I 8,<,1<,17", 8,7,1<,10", 8,D,1=,1<", etc. C t,rminos: 1as l-neas 0,1,;,7,<,=,D,8", 0,<,17,C,1,=,1;,F", 0,<,17,C,7,8,1<,10", 0,1,;,7,C,F,11,10", etc. (o .ay que olvidar que solo se agrupar3n las l-neas cuya !unci#n de salida es 1 9or ejemplo para la siguiente suma can#nica X )&% 0,1,7,;,<,=,F,10" que se corresponde con la siguiente tabla:
0 1 7 ; < = 8 D A 0 0 0 0 0 0 0 0 : 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 = 1 1 1 1 1 1 C F 10 11 17 1; 1< 1= A 1 1 1 1 1 1 1 1 : 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 = 1 1

Kigura 7.11 Eabla de verdad de X)&% 0,1,7,;,<,=,F,10"

1a e2presi#n sin simpli!icar ser3:


K 6 )U&U%U/U A )U&U%U/ A )U&U%/U A )U&U%/ A )U&%U/U A )U&%U/ A )&U%U/A )&U%/U

El mapa de Tarnaug., quedar3 as-:


%U/U 00 )U&U 00 )U& 01 )& 11 )&U 10
0

%U/ 01
1

%/ 11
;

%/U 10
7

1
<

1
=

1
D 1= 11

1
8 1< 10

1
17 C

1
1; F

Kigura 7.17 0apa de [arnau.g de X)&% 0,1,7,;,<,=,F,10"

1os nmeros en la esquina superior derec.a de las celdas se corresponden con los nmeros de l-nea y los nmeros en el centro son los valores que toma la !unci#n de salida en esa l-nea. 77

En los bordes superior e izquierdo, aparecen los valores que pueden tomar las variables l#gicas. 9or ejemplo, la intersecci#n de la !ila )U& y la columna %U/ de!inen el t,rmino )U&%U/ 0101, l-nea =". +tro detalle a tener en cuenta es el orden o secuencia que tienen los elementos de los bordes, as-, )U&U, )U&, )& y )&U se corresponden con 00, 01, 11 y 10 c#digo Qray para 0, 1, 7 y ;", de igual manera ocurre con el borde superior. ) continuaci#n se proceder3 a agrupar. Cuanto ma7or n>mero &e elementos ten*a el *rupo? ma7or ser4 la simpli9icaci%n 1as l-neas 0, 1, ; y 7 !orman el grupo 1. 1as l-neas 0, 1, < y = !orman el grupo 7. 1as l-neas 1 y F !orman el grupo ; y, !inalmente, 1as l-neas 7 y 10 el grupo de <. (o importa que se tomen l-neas que pertenecen a algn grupo para !ormar otro grupo. ).ora pasaremos a simpli!icar. 1a regla de simpli!icaci#n es sencilla: @2EDAR6N SO3O A@2E33AS AARIA:3ES 3B#ICAS PARA 3AS @2E NO APARECE S2 CO/P3E/ENTO EN E3 #R2PO En el grupo 1 En el grupo 7 En el grupo ; En el grupo < )U&U%U/U A )U&U%U/ A )U&U%/ A )U&U%/U" quedar3: )U&U )U&U%U/U A )U&U%U/ A )U&%U/U A )U&%U/" quedar3: )U%U )U&U%U/ A )&U%U/" quedar3: &U%U/ )U&U%/U A )&U%/U" quedar3: &U%/U

9or ultimo, se unen las reducciones mediante un operador +* A" quedando: K 6 )U&U A )U%U A &U%U/ A &U%/U Con&ici%n no importa En algunos casos se va a dar que, ciertas entradas nunca van a ocurrir, por lo que no estar3n de!inidos los correspondientes valores para la !unci#n de salida. Esto se conoce como condici#n (+ '09+*E), es decir, que no importa si la !unci#n de salida toma el valor de 0 o 1, por lo que se puede establecer un valor arbitrario para la !unci#n de salida de tal manera que permita simpli!icar an m3s la e2presi#n. Ejemplo: /ise$ar un detector de d-gitos &%/ primos. %omo sabemos, los d-gitos &%/ son del 0 al F 0000 a 1001" y est3n con!ormados por < bits. 9or consiguiente, los d-gitos &%/ primos son: 1, 7, ;, = y D. 1a tabla de verdad para esta !unci#n ser3:
A 0 0 0 0 0 : 0 0 0 0 1 C 0 0 1 1 0 D 0 1 0 1 0 = 1 1 1 C F 10 11 17 A 1 1 1 1 1 : 0 0 0 0 1 C 0 0 1 1 0 D 0 1 0 1 0 =

0 1 7 ; <

C C C

7;

= 8 D

0 0 0

1 1 1

0 1 1

1 0 1

1 1

1; 1< 1=

1 1 1

1 1 1

0 1 1

1 0 1

C C C

Kigura 7.1; Eabla de verdad para detector de nmeros primos

En la tabla, )&%/ representan los < d-gitos del c#digo &%/. (#tese que desde la l-nea 10 .asta la 1=, la !unci#n de salida tiene el valor > debido a que esos valores no est3n de!inidos para el c#digo &%/, en otras palabras, si las entradas es un c#digo &%/, estas entradas 10?1=" nunca ocurrir3n. ).ora construiremos el mapa de [arnaug. tal como se muestra en la !igura 7.1<. (#tese las l-neas del 10 al 1=, los > signi!ica que pueden tomar el valor de 0 o 1 segn nos convenga.
%U/U 00 )U&U 00 )U& 01 )& 11 )&U 10
0

%U/ 01
1

%/ 11
;

%/U 10
7

1
< =

1
D

1
8 1<

1
17 1;

1
1=

C
C

C
F

C
11

C
10

Kigura 7.1< 0apa de [arnau.g de nmeros primos &%/

4ay un grupo que est3 completamente de!inido, que es el grupo con!ormado por las l-neas 1, ;, = y D, el problema es, con qu, l-neas agrupar la l-nea 7. Hn primer intento ser-a agrupar la l-nea 7 con la l-nea ;, con lo que se !orma un grupo de 7 l-neas. Hn segundo intento es .acer 1 la l-nea 10 y agruparla con la l-nea 7, tambi,n ser-a un grupo de 7 l-neas. Hn tercer intento, es .acer 1 las l-neas 11 y 10 y agruparlas con las l-neas ; y 7 grupo de <" con lo que obtendr-amos una mayor simpli!icaci#n. )l parecer esto ser-a lo #ptimo, por lo que la !unci#n quedar3: K 6 )U/ A &U% Esto tambi,n signi!ica que la !unci#n de salida del resto de l-neas 17, 1;, 1< y 1=" debemos asignarle el valor de 0. 2... Circuitos l%*icos com5inacionales. Es un grupo de compuertas l#gicas conectadas de una manera espec-!ica, de!iniendo de esta !orma un circuito con un conjunto de entradas y salidas binarias. 1a caracter-stica principal de un circuito combinacional es que los valores binarios de las salidas dependen o est3n en !unci#n, s%lo 7 >nicamente, de una combinaci#n binaria de entradas. 7<

( variables de entrada

) &

%ircuito %ombinacional

K1 K7 K0

0 variables de salida

Kigura 7.1= /iagrama de bloque de un circuito combinacional

Hn circuito combinacional puede describirse mediante una tabla de verdad que muestre la relaci#n binaria entre las ( variables de entrada y las 0 variables de salida. 7.8.1. Semisumador. Es el circuito combinacional m3s simple y realiza la suma aritm,tica de dos d-gitos binarios. Se denomina semisumador porque las entradas est3n con!ormadas por s#lo los dos d-gitos binarios a sumar y como salidas, tiene el resultado de la suma y el acarreo generado.

) 0 0 1 1

& 0 1 0 1

S 0 1 1 0

% 0 0 0 1

Kigura 7.18 Eabla de verdad y circuito combinacional de un semisumador

/e la tabla podemos obtener las siguientes !unciones l#gicas S 6 )U&A)&U y % 6 )&, pero )U&A)&U 6 )& por lo que el circuito quedar-a:

Kigura 7.1D %ircuito combinacional simpli!icado de un semisumador

7.8.7. Sumador completo. Este circuito combinatorio tiene como entradas los dos d-gitos binarios a sumar ), &" y adem3s un acarreo inicial [", es decir, tres entradas. %omo salidas, el resultado de la suma S" y el acarreo generado o de salida %".

7=

) 0 0 0 0 1 1 1 1

& 0 0 1 1 0 0 1 1

[ 0 1 0 1 0 1 0 1

S 0 1 1 0 1 0 0 1

% 0 0 0 1 0 1 1 1

Kigura 7.1C Eabla de verdad y circuito combinacional de un sumador completo

/e la tabla de la !igura 7.1C se obtienen las !unciones: S 6 )U&U[A)&[ A)U&[UA)&U[U 6 )U&UA)&"[A )U&A)&U"[U S 6 )&"U[A )&"[U 6 )&"[ % 6 )U&[A)&U[A)&[UA)&[ 6 )U&A)&U"[A)& [UA[" % 6 )&"[A)& 7.8.;. Sumador restador. 1os circuitos anteriores pueden tratarse como cajas negras, donde solo sepamos las salidas que se van a obtener al ingresar entradas determinadas, por ejemplo el diagrama de bloque para el sumador completo seria el siguiente:

Kigura 7.1F /iagrama de bloque de un sumador completo

/onde ) y & son las entradas de los d-gitos binarios a sumar, %i es el acarreo de entrada, \ es la salida de la suma de los bits de entrada y %o el acarreo de salida. Se pueden usar estos circuitos simples para dise$ar circuitos cambinacionales m3s complejos como por ejemplo un sumador de < bits tal como se muestra en la !igura siguiente:

78

Kigura 7.70 /iagrama de un Sumador de < bits

En el diagrama de la !igura 7.70 .ay < sumadores completos. [ es el acarreo de entrada, );, )7, )1 y )0 son los < bits del numero ), al igual que &;, &7, &1 y &0 del numero &. El acarreo de salida %o de cada sumador se conecta al acarreo de entrada % i del siguiente bloque sumador. S;, S7, S1 y S0 es un nmero de < bits resultado de la suma de ) y &. Kinalmente % contiene el acarreo de salida resultado de la suma de los nmeros de < bits ) y &. /e igual !orma su puede dise$ar un sumador de C, 18 o ;7 bits o, en todo caso, usando 7 sumadores de < bits se puede construir un sumador de C bits, con < uno de 18 y as- sucesivamente.

Kigura 7.71 /iagrama de un Sumador de C bits usando sumadores de < bits

1a !igura 7.71 muestra un sumador de C bits dise$ado con 7 sumadores de < bits y estos a su vez se .an dise$ado usando sumadores completos de un bit. Hsando la misma l#gica se puede dise$ar un restador, pero mejor aun, pasemos a .ablar de un circuito que realice ambas operaciones: un sumador?restador. 9rimero recordemos que una resta binaria )?&" es igual que una suma pero complementando a 7 el segundo operando )A%7 &"", es decir que: 10 O 7 6 10 A %7 7" En binario con < bits ser-a: 1010 O 0010 6 1010 A %7 0010" 6 1010 A 1101 A 1" 9or consiguiente necesitamos dise$ar un circuito tal, que cuando la operaci#n sea una suma el segundo operando & se mantenga igual pero, si la operaci#n es una resta se complemente cambiar 1s por 0s y 0s por 1s y sumarle 1". Hna vez tratado el segundo operando se realiza una simple suma. Hna entrada adicional 0" nos puede indicar si la operaci#n a realizar es una suma 0" o una resta 1". Si 060, entonces el digito & i debe quedar igual sumar", caso contrario el digito &i debe ser complementado restar". Si miramos la tabla de verdad generada, donde & es la entrada al sumador, !igura 7.77" lo que obtenemos es una operaci#n 5+*.
0 0 0 1 1 &i 0 1 0 1 & 0 1 1 0

7D

Kigura 7.77 Eabla de verdad de la operaci#n

9or lo tanto, mediante una operaci#n 5+* podemos, si !uera una resta, complementar los 0s y los 1s del segundo operandoI pero al .acer esto s#lo estamos .allando el complemento a 1, !alta sumarle 1 para que se convierta en el complemento a 7. Esto se logra conectando la entrada 0 al acarreo de entrada sumar 1", tal como se aprecia en la !igura 7.7;.

Kigura 7.7; /iagrama de un Sumador?*estador de < bits

2.+. =lip'9lops Es una celda binaria capaz de almacenar un bit de in!ormaci#n. Eiene 7 salidas, una para el valor normal y una para el valor complementado del bit almacenado en ,l. 1a di!erencia entre los diversos tipos de !lip?!lops est3 en el nmero de entradas que posean y la manera en la cual las entradas a!ectan el estado binario. %omnmente los !lip?!lops reciben el nombre de registros. 7.D.1. Klip Klop &3sico con compuertas ()(/ y (+* El circuito Klip?Klop m3s elemental que se puede construir es con 7 compuertas ()(/ como muestra la !igura 7.7<

* 0 0 1 1

S 0 1 0 1

] ]6]Z61 1 0 Sin %ambio

Kigura 7.7< Klip?!lop b3sico ()(/ y su tabla d verdad

*esumen del !lip?!lop b3sico con compuertas ()(/

7C

1. *6S61: Esta condici#n no tiene e!ecto alguno sobre el estado de salida. 1as salidas ] y ]Z permanecer3n en el estado en el que se encontraban antes de presentarse esta condici#n de entrada. 7. *60, S61: Este estado siempre ocasionar3 que la salida pase al estado ]61, donde permanecer3 aun despu,s de que *61. ;. *61, S60: Esto siempre producir3 el estado ]60, donde la salida permanecer3 aun despu,s de que S61. <. *6S60: Esta condici#n intenta iniciar y borrar el registro b3sico en !orma simultanea y produce ]6]Z61. (o debe utilizarse. 1a !igura 7.7= muestra el diagrama de estados del !lip?!lop, donde los c-rculos son los estados del !lip?!lop salida ]" y las !lec.as las transiciones que permiten pasar de un estado a otro. 1os valores 00, 01, 10 y 11 son los valores que pueden tomar las entradas *S cuando el !lip?!lop se encuentre en alguno de sus 7 estados 0 o 1". %omo se aprecia la salida ] o estado al que pasar-a, esta en !unci#n de las entradas *, S y del estado actual en el que se encuentre el !lip?!lop. 9or ejemplo, si el !lip?!lop se encuentra en el estado 0 y *S611 la salida ] es 0, pero si se encontrara en el estado 1, la salida ] ser-a 1.
Kigura 7.7= /iagrama de estados del !lip?!lop ()(/

+tra alternativa de !lip?!lop b3sico es la mostrada en la !igura 7.78, construido con 7 compuertas (+*
* 0 0 1 1 S 0 1 0 1 ] Sin cambio 1 0 ]6]Z60

Kigura 7.78 *egistro b3sico (+* y su tabla d verdad

*esumen del !lip?!lop b3sico con compuertas (+*


10 0 11 10 01 00

1 01

11

00

7F

1. *6S60: Esta condici#n no tiene e!ecto alguno sobre el estado de salida. 1as salidas ] y ]Z permanecer3n en el estado en el que se encontraban antes de presentarse esta condici#n de entrada. 7. *60, S61: Este estado siempre ocasionar3 que la salida pase al estado ]61, donde permanecer3 aun despu,s de que *61. ;. *61, S60: Esto siempre producir3 el estado ]60, donde la salida permanecer3 aun despu,s de que S61. <. *6S61: Esta condici#n intenta iniciar y borrar el registro b3sico en !orma simultanea y produce ]6]Z60. (o debe utilizarse.
Kigura 7.7= /iagrama de estados del !lip?!lop (+*

00

10 01

00

10

0 11

01

11

)l modi!icar el valor de una de las entradas del !li?!lop, la salida ] cambia inmediatamente, por lo que podemos considerar estas entradas como asncronas. 9ero por lo general es necesario que las salidas se sincronicen con una se$al maestra conocida como se$al del *eloj. Esto se logra agregando un par de compuertas )(/, con lo que a.ora obtenemos un !lip?!lop con entradas sncronas, lo que implica que las salidas no se actualizaran mientras la se$al de reloj no sea 1.
Kigura 7.7= /iagrama de un !lip?!lop con entradas s-ncronas

7.D.7. Klip?!lop S* sincronizado por reloj


]0 0 0 1 1 ]1 0 1 0 1 S 0 1 0 S * S 0 1 0

Kigura 7.78 S-mbolo gra!ico, Eabla caracter-stica y e2citaci#n de un KK *S

;0

Ecuaci#n caracter-stica: ] 6 S A *U] 7.D.;. Klip?!lop / sincronizado por reloj


/ 0 1 %1[ _ _ ] 0 1 ]0 0 0 1 1 ]1 0 1 0 1 / 0 1 0 1

Kigura 7.7D S-mbolo gra!ico, Eabla caracter-stica y e2citaci#n de un KK /

Ecuaci#n caracter-stica: ] 6 / 7.D.<. Klip?!lop ^[ sincronizado por reloj


]0 0 0 1 1 ]1 0 1 0 1 ^ 0 1 S S [ S S 1 0

Kigura 7.7C S-mbolo gra!ico, Eabla caracter-stica y e2citaci#n de un KK ^[

Ecuaci#n caracter-stica: ] 6 ^]U A [U] 7.D.=. Klip?!lop E sincronizado por reloj


T

E 0 1

%1[ _ _

] ] anterior ]U

]0 0 0 1 1

]1 0 1 0 1

E 0 1 1 0

Kigura 7.7F S-mbolo gra!ico, Eabla caracter-stica y e2citaci#n de un KK E

Ecuaci#n caracter-stica: ] 6 ] E

;1

2.,. Circuitos l%*icos secuenciales. Es un conjunto de compuertas l#gicas circuito combinacional" y !lip?!lops interconectados entre si. 1a caracter-stica principal de un circuito secuencial es que los valores binarios de las salidas no s#lo dependen de sus entradas actuales sino tambi,n de la secuencia de entradas previas. 7.C.1. Ecuaciones de entrada de los !lip?!lops 1a !igura 7.;0 muestra un circuito secuencial con!ormado por 7 !lip?!lops / y algunas compuertas l#gicas.

Kigura 7.;0 /iagrama de un circuito secuencial con KK /

En un !lip?!lop tipo / la ecuaci#n caracter-stica es ]6/ n#tese que ] ser3 ) en el primer !lip?!lop y & en el segundo", es decir )6/) y &6/&. 9or lo tanto /) ser3 igual a la salida del circuito con!ormado por las compuertas 1, 7 y ;, es decir: )6/)6)2A2& y /& a la salida de la compuerta <, &6/&6)U2. 1a salida y ser3 igual al resultado de las compuertas =, 8, D y CI entonces: y6)2UA&2U. Esto signi!ica que el nuevo valor de ) depender3 del actual valor de ), & y 2, mientras que el valor de & estar3 en !unci#n de & y )U. 1o siguiente ser3 construir la tabla de estados del circuito usando las e2presiones .alladas.
Estado actual ) 0 0 0 0 1 1 1 1 & 0 0 1 1 0 0 1 1 Entrad a 2 0 1 0 1 0 1 0 1 Estado nuevo ) 0 0 0 1 0 1 0 1 & 0 1 0 1 0 0 0 0 Salida y 0 0 1 0 1 0 1 0

;7

Kigura 7.;1 Eabla de estados

9or ejemplo si los valores actuales de las variables ), & y 2 son 0, 1 y 1 respectivamente y los reemplazamos en las e2presiones .alladas, obtendremos los nuevos valores de ) y &: ) 6 )2A2& 6 0V1 A 1V1 6 0 A 1 6 1 & 6 )U2 6 1V1 6 1 y 6 )2UA&2U 6 0V0 A 1V0 6 0 A 0 6 0 ).ora, a partir de la tabla de estados, construiremos el diagrama de estados %omo tenemos 7 (" Klip?!lops y cada uno de ellos puede tener 7 estados posibles, esto signi!ica que el circuito secuencial tendr3 < 7 (" estados )&" en total 00, 01, 10 y 11. %uando el estado actual )&" es 00 y 2 es 0, el estado siguiente es 00 y la salida y60, pero si 261 el siguiente estado es 01 y la salida y60. Si el estado actual es 11 y 260 el siguiente estado es 00 y la salida y61, pero si 261 el estado siguiente es 10 y la salida y60. Si continuamos con este razonamiento, obtendremos el siguiente diagrama:
0B0 0B1
0 0 1 0

1B0

0B1
0 1

1B0

0B1

1B0
1 1

1B0

Kigura 7.;1 /iagrama de estados

1os nmeros que aparecen en el numerador son las entradas, mientras los denominadores son las salidas. ).ora analicemos un circuito secuencial con !lip?!lops tipo ^[.

Kigura 7.;7 /iagrama de circuito secuencial con KK ^[

1as ecuaciones de entrada son: ^)62, [)62, ^&6z, [&6z, z6 2A)"&U y la ecuaci#n caracter-stica para estos !lip?!lops es ]6^]UA[U] que para este caso ser-a: )6^))UA[)U) y &6^&&UA[&U&

;;

Estado actual ) 0 0 0 0 1 1 1 1 & 0 0 1 1 0 0 1 1

Entrad a 2 0 1 0 1 0 1 0 1

62 ^) 0 1 0 1 0 1 0 1

62 [) 0 1 0 1 0 1 0 1

Salida 2A)"&U z 0 1 0 0 1 1 0 0

6z ^& 0 1 0 0 1 1 0 0

6z [& 0 1 0 0 1 1 0 0

Estado nuevo 6 ^]UA[U] ) & 0 0 1 1 0 1 1 1 1 1 0 1 1 1 0 1

Kigura 7.;; Eabla de estados

9or ejemplo si ), & y 2 valen 1, 0 y 0, respectivamente, entonces: ^)6 2 6 0 [) 6 2 6 0 z 6 2A)"&U 6 0A1"1 6 1 ^& 6 z 6 1 [& 6 z 6 1 ) 6 ^))UA[)U) 6 0V0A1V1 6 1 & 6 ^&&UA[&U& 6 1V1A0V0 6 1 Eodo esto queda resumido en el diagrama de estados siguiente
0B0 0B0

0 0

0 1

1B0 1B1 1B0 0B0


1 1 1 0

1B1

0B1

Kigura 7.;< /iagrama de estados

4asta a.ora .emos partido del diagrama de un circuito secuencial para determinar el comportamiento de ,ste, pero tambi,n se puede dar el caso contrario, es decir, que a partir del comportamiento del circuito secuencial determinar o dise$ar dic.o circuito. 9or ejemplo: /ado el diagrama de estados de la !igura 7.;= dise$ar un circuito secuencial .aciendo uso de !lip?!lops tipo ^[
0B0 1B0
0 0 1 1

0B1

1B1

1B1
0 1 1 0

0B1

0B0

1B0

;<

Kigura 7.;= /iagrama de estados

En este tipo de problemas conocemos el estado actual ] 0" y el estado nuevo ]1" al que pasar-a el circuito secuencial al generarse una entrada 2. En este caso .aremos uso de la tabla de e2citaci#n del KK ^[, la cual nos permite saber que valores deben tener las entradas ^ y [ para poder pasar de ]0 a ]1
Estado actual ]0 ) & 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 Entrad a 2 0 1 0 1 0 1 0 1 Estado nuevo ]1 ) & 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 KK?) ^) 0 0 0 1 S S S S [) S S S S 0 0 0 1 KK?& ^& 0 1 S S 0 1 S S [& S S 0 1 S S 0 1 Salida z 0 1 1 0 0 1 1 0

Kigura 7.;= Eabla de estados

9or ejemplo, si el estado actual del KK ) es 0, para que pueda pasar al estado 0 se queda en el mismo estado", la entrada ^ ^ )" debe ser 0 y [ [)" debe ser S entrada no importa", segn la tabla de e2citaci#n. 9ara el caso del KK &, si su estado actual es 1, para que pueda pasar al estado 1 se queda en el mismo estado", la entrada ^ ^&" debe ser S entrada no importa" y [ [&" debe ser 0. %ontinuando con este razonamiento se completa la tabla y luego se procede a determinar ^), [), ^& y [& en !unci#n de ), & y 2, es decir, que se toma a ), & estado actual", 2 como entradas y a ^ ), [), ^& y [& como !unciones de salida. +bviamente el m,todo m3s pr3ctico para todos estos casos es: El mapa de [arnaug..

[) )U&U )U& )& )&U

5U
0

5
1

S
7

S
;

S
8

S
D

0
<

1
=

Kigura 7.;8 0apas de [arnaug. para ^), [), ^& y [&

;=

/e los mapas de [arnaug. podemos determinar que: ^) 6 &2 [) 6 &2 ^& 6 2 [& 6 2 /el mismo modo se puede determinar z 6 &2U A &U2 6 &2 %on todas estas e2presiones procedemos a dise$ar el circuito secuencial tal como se muestra en la !igura 7.;D

Kigura 7.;D /iagrama del circuito secuencial

7.F. Soluci#n de ejercicios con &oole :oole es un programa que permite dise$ar y analizar circuitos combinacionales y secuenciales. Este so!tPare es de libre uso y puede ser descargado de la siguiente p3gina: .ttp:BBpaginaspersonales.deusto.esBzubiaB&++1E`S9.zip Hna vez descargado y descomprimido se ejecuta :oole.e8e y aparece una ventana con 7 botones: Sistema com5inacional y Sistema secuencial. Aut%matas 7.F.1. %ircuitos combinacionales.

;8

Seleccionado el bot#n Sistema com5inacional aparecer3 la ventana mostrada en la !igura 7.;C

Kigura 7.;C Jentana de Sistema combinacional de &oole

9rimero debemos darle un nombre al sistema Ejercicio1" y luego establecer la cantidad de variables de entrada ;" y salida 1". Se puede establecer un nombre para las variables de entrada 5, N, W" y de salida o dejarlos con sus valores por de!ecto ), &, % y K respectivamente. ).ora elegimos el bot#n Eabla de verdad manual para ingresar los valores de la tabla de verdad del circuito. 1a ventana que aparecer3 es la mostrada en la !igura 7.;F.

;D

Kigura 7.;F Jentana para el llenado de la tabla de verdad

El bot#n %ondiciones libres llenara de 5 la !unci#n de salida K, mientras que el bot#n %eros de ceros y Hnos de unos. +bvioa &astara con .acer clic, una o varias veces, en cualquiera de las celdas de la !unci#n K para que cambie a 0, 1 o 5 Hna vez llenada la tabla .acemos clic en Evaluar y luego en Salir, para regresar a la ventana anterior en donde .aremos clic en el bot#n E2pr. S+9 simpli!icada donde aparecer3 la siguiente ventana:

Kigura 7.<0 Jentana de E2presi#n S+9 simpli!icada

En ella se observa las e2presiones l#gicas simpli!icadas de las !unciones K:1, K:7, G" y < botones: Aeitc<';arnou*<, que permite ver el mapa de [arnaug. de la !unci#n con las agrupaciones de l-neas que se .an empleado para la simpli!icaci#n

Kigura 7.<1 Jentana de mapa de [arnaug.

;C

Nan&DNor que muestra una ventana con e2presiones l#gicas de K, pero empleando solo operadores (and o (or AisualiEar circuito que muestra una ventana con el diagrama del circuito simpli!icado, como se muestra en la !igura 7.<7

Kigura 7.<7 Jentana de diagrama del circuito

7.F.7. %ircuitos secuenciales. )l seleccionar el bot#n Sistema secuencial. Aut%matas aparecer3 la ventana de la !igura 7.<;

Kigura 7.<; Jentana de Sistema Secuencial

)l seleccionar la opci#n (uevo del men )rc.ivo aparecer3 la ventana de la !igura 7.<< que nos permitir3 elegir el tipo de aut#mata con el que se desea trabajar: 0oore y 0ealy en el tipo 0ealy tenemos que ingresar el valor de la transici#n y el valor de la salida por cada !lec.a,

;F

mientras que en el 0oore ingresamos la transici#n en cada !lec.a y la salida en cada c-rculo". )s- tambi,n, se establece la cantidad de entradas y salidas y sus nombres respectivos.
Kigura 7.<< Jentana de Sistema Secuencial

El ejemplo a desarrollar es el aut#mata de la !igura 7.;1 y el tipo de aut#mata, 0ealy. Hna vez establecido la cantidad de variables y sus nombres se .ace clic en )ceptar para que aparezca la ventana de la !igura 7.<< donde se proceder3 a dibujar el aut#mata. 4ay que reconocer que la inter!az gra!ica para dibujar el aut#mata es un poco dura, pero con un poco de pr3ctica se lograr3 dominarla. 9rimero dibujaremos los estados, < en este caso. 9ara ello se .ace clic en el bot#n c-rculo de la ventana &arra barra de .erramientas" y luego .acemos clic en el !ondo blanco tantas veces como estados deseemos. 9ara dibujar las transiciones, seleccionamos el bot#n !lec.a derec.a de la ventana &arra y luego .acemos clic en el estado inicial y luego en el estado !inal los cuales quedar3n unidos mediante una !lec.a. Esta

operaci#n deber3 repetirse tantas veces como transiciones tenga el aut#mata.


Kigura 7.<= Jentana donde se dibuja el )ut#mata

9ara .acer cualquier modi!icaci#n respecto a la posici#n de los estados, se debe seleccionar primero la !lec.a tipo puntero de mouse y luego arrastrar el elemento a mover c-rculo o !lec.a". )s- mismo se puede tambi,n establecer los valores de las entradas y salidasI .aciendo doble clic sobre cualquier !lec.a, aparecer3 una ventana donde se ingresar3 la entrada y salida respectivamente 9ara visualizar el circuito abrimos el men Jer circuito y podemos elegir la opci#n %on !lip?!lops /

<0

Kigura 7.<8 %ircuito secuencial con Klip?Klop tipo /

+ la opci#n %on !lip?!lops ^[

Kigura 7.<D %ircuito secuencial con Klip?Klop tipo ^[

<1

+tra opci#n interesante es Simulaci#n interactiva del men *esultados donde se podr3 simular las transiciones de los estados al tomar un valor determinado la entrada 2 cada vez que se .aga clic en el bot#n %1[

Kigura 7.<C Jentana de simulaci#n interactiva

7.10. Simulaci#n de circuitos con Electronics borT&enc. Electronics borTbenc. Eb&" o &anco de Erabajo de Electr#nica, es un programa para dise$ar y simular circuitos electr#nicos y l#gicos, desarrollado por '(EE*)%E'JE '0)QE EE%4(+1+Q'ES 1E/. El programa tiene una inter!az gr3!ica con el usuario que lo .ace muy intuitivo, c#modo de usar y r3pido de trabajar, raz#n por la cual no vamos a describir, con detalle, como .acer los circuitos sino, mas bien, las .erramientas a usar para simular nuestros circuitos.

)ctivar simulaci#n

Kigura 7.=0 Jentana principalde borT&enc.

<7

1a !igura 7.=0 muestra la ventana principal del borT&enc. v=.17, junto con algunas cajas de .erramientas que se van a emplear en el dise$o y simulaci#n de circuitos digitales. 9ara iniciar el dise$o de un circuito, se .ace clic en el bot#n respectivo de la barra de .erramientas, para que aparezca la caja de .erramientas con la que deseamos trabajar 1ogic Qates ? %ompuertas 1#gicas, por ejemplo". ) continuaci#n seleccionamos el elemento de la caja de .erramientas que queremos agregar y lo arrastramos .acia el 3rea de trabajo ventana de !ondo blanco", esta operaci#n la repetimos tantas veces como elementos deseemos. Eodos los elementos tienen una o m3s salidas, las cuales al se$alarlas con el puntero del mouse aparece un c-rculo negro sobre ellas, lo cual indica que podemos iniciar la operaci#n de cone2i#n con otros componentes. )l arrastrar y llegar a la salida entrada" de otro componente, tambi,n aparecer3 un c-rculo negro, con lo cual podemos !inalizar la cone2i#n. )l !inalizar este proceso veremos una l-nea que conecta ambos componentes y assucesivamente se puede repetir esta operaci#n con el resto de elementos. 1a !igura 7.=1 muestra un circuito terminado. %omo se aprecia es el diagrama de un sumador completo de un bit !igura 7.1C" al cual se le .an agregado una bater-a de =v, ; sPitc. ), & y %", 7 probadores rojo y azul" para poder .acer la simulaci#n.

Kigura 7.=1 %ircuito de un sumador completo de un bit

1a bater-a se usa para simular los 0s y 1s digitales 0J. y =J." y los sPitc. para conmutar las entradas a 0J. o =J. 0 o 1". 9ara establecer las propiedades de los componentes basta con .acer doble clic sobre ellos y elegir la !ic.a respectiva donde se establecer3n los valores deseados. 9or ejemplo, .acer doble clic sobre bater-a, elegir la !ic.a Aalue y establecemos el valor de =J, para los sPitc., tambi,n, elegimos la !ic.a Jalue y establecemos la tecla ), & y % respectivamente" con la cual conmutar3 el sPitc.. 9ara iniciar la simulaci#n .acer clic en el bot#n 0B1 que se encuentra en la esquina superior derec.a de la ventana. &astar3 con presionar ), & o % para conmutar las entradas para las compuertas. %ada vez que la salida sea 1, los probadores se encender3n con el color respectivo. El ejemplo anterior es s#lo para iniciarnos en el proceso de simulaci#n pero lo mas apropiado es utilizar el #enera&or &e Pala5ras bord Qenerador" tal como se muestra en la !igura siguiente: <;

Kigura 7.=7 %ircuito del sumador completo con el generador de palabras

Hn Qenerador de 9alabras es un instrumento que permite generar palabras de 18 bits y .acer que sus salidas contengan estos valores. )l conectar las salidas del Qenerador de 9alabras a las entradas de los di!erentes componentes podemos estudiar el comportamiento del circuito, o mejor dic.o las salidas de ,ste, !rente a un conjunto de valores de entrada. El Qenerador de 9alabras es el =to bot#n bord Qenerador" de la caja de .erramientas Instruments 'nstrumentos" y al .acer doble clic sobre ,l aparecer3 la ventana de la !igura 7.=;, con la cual podemos con!igurarlo.

Kigura 7.=; Jentana de con!iguraci#n del Qenerador de 9alabras

En la parte izquierda .ay una lista donde se puede ingresar las palabras en .e2adecimal < d-gitos" que deseamos generar. Esto tambi,n lo podemos .acer ubic3ndonos primero en la posici#n dentro de la lista donde deseamos insertar la palabra y luego en la parte in!erior derec.a :inar7" escribir el valor en binario 18 d-gitos". En el 3rea A&&ress se puede ver: Edit.? 0uestra el valor de la palabra a generar, ingresada o editada. %urrent.? %uando se esta simulando, muestra el valor actual que se est3 generando o que esta presente en las salidas del generador. 'nitial.? 0uestra o establece la direcci#n de la primera palabra a generar. Kinal.? 0uestra o establece la direcci#n de la ltima palabra a generar. En =recuenc7 se establece la !recuencia con la que se generaran las palabras. 9ara la simulaci#n es recomendable 1 4z, pero se puede cambiar a T4z o 04z <<

Kinalmente en la parte superior derec.a se encuentran < botones que permiten establecer el ciclo de generaci#n de las palabras %ycle.? 9ermite generar las palabras en !orma c-clica, es decir que una vez que se genero la ltima, contina con la primera y as- sucesivamente. &urst.? Hna vez generada la ltima palabra se detiene. Step.? En esta modalidad, cada vez que se desee generar una palabra se tiene que .acer clic en este bot#n. &reaTpoint.? Sirve para crear puntos de parada, es decir que, cuando se vaya a generar cierta palabra establecida como &reaTpoint el simulador se detiene. 9ara ello s#lo basta seleccionar la palabra y .acer clic en este bot#n 9attern.? 0uestra una ventana que permite establecer la !orma como se llenar3 la lista de palabras: %lear bu!!er: 1impia la lista de palabras la llena de ceros". +pen: %arga la lista de palabras desde un arc.ivo te2to. Save: Qraba en un arc.ivo te2to la lista de palabras. Hp counter: %arga la lista de palabras desde el 0000 .asta el 0;KK. /oPn counter: %arga la lista de palabras desde el 0;KK .asta el 0000. S.i!t rig.t: %arga la lista de palabras con potencias de 7 decrecientes". S.i!t le!t: %arga la lista de palabras con potencias de 7 crecientes". +tro instrumento interesante es el ConFerti&or 3%*ico 1ogic %onverter". Es el Dmo bot#n de la caja de .erramientas 'nstruments. Este instrumento permite generar la tabla de verdad, la e2presi#n booleana original y simpli!icada a partir de un circuito. Eambi,n permite crear una tabla de verdad y a partir de ella las e2presiones booleanas correspondientes as- como el circuito respectivo. 1a !igura 7.=< muestra las cone2iones que se deben realizar para evaluar la salida K del circuito de la !igura 7.;.

Kigura 7.=< %one2i#n del %onvertidor 1#gico

'gual que el caso anterior, .acer doble clic sobre el %onvertidor 1#gico para que aparezca la ventana de la !igura 7.== que es donde se visualizan los resultados

<=

Kigura 7.=< Jentana del %onvertidor 1#gico

%on el primer bot#n, se generar3 la tabla de verdad con los respectivos valores de la !unci#n de salida %on el segundo bot#n se obtiene la e2presi#n booleana tomada directamente de la tabla, sin simpli!icar ma2t,rminos". %on el tercer bot#n se obtiene la e2presi#n booleana simpli!icada

Eambi,n se puede trabajar sin tener un circuito, generando una tabla de verdad o ingresando una e2presi#n booleana. En el primer caso, se .ace clic sobre las variables que se van a usar ), &, %,G4" y en !orma autom3tica se va generando la tabla de verdad. 1uego .ay que ubicarse sobre los valores que aparecen a la derec.a !unci#n de salida" y establecer los nuevos. ).ora ya podemos .acer uso del segundo, tercero, quinto y se2to bot#n. En el segundo caso se ingresa una e2presi#n booleana en el rect3ngulo blanco de la parte in!erior de la ventana, con lo que luego se podr3 .acer uso de los botones cuarto, quinto y se2to %on el cuarto bot#n, dada una e2presi#n booleana, se obtiene la tabla de verdad a partir de dic.a e2presi#n. %on el quinto bot#n, a partir de una e2presi#n booleana, se obtiene el circuito o diagrama. %on el se2to bot#n se obtiene el diagrama pero compuesto por s#lo compuertas ()(/

).ora veamos un circuito secuencial. )l diagrama de la !igura 7.;D se le .a agregado una bater-a y Pitc., para simular los valores de la entrada 5. )lgo semejante se pudo .aber usado para generar la se$al de reloj %1[" que se encarga de sincronizar los !lip?!lops, pero en su lugar es mejor usar un #enera&or &e SeGales Kunction Qenerator" tal como se puede ver en la !igura 7.==

Kigura 7.== %ircuito con Qenerador de Se$ales

El Qenerador de Se$ales, es un instrumento que se usa para generar ; tipos de se$ales u ondas: Sinusoidal, triangular y cuadrada

<8

4aciendo doble clic en el Qenerador de Se$ales aparecer3 una ventana que permitir3 establecer la con!iguraci#n de ,ste. )qu- se puede seleccionar el tipo de se$al, !recuencia, amplitud, ciclo til y desplazamiento. Jer !igura 7.=8

Kigura 7.=8 Qenerador de Se$ales

7.11. Ejercicios resueltos y propuestos 7.11.1. *esueltos a" Simpli!icar )&A) %/A%/U" )&A) % /A/U" )&A) % 1"" )&A)% ) &A%" b" Simpli!icar &%UA)U/" )&UA%/U" &%U)&UA&%U%/UA)U/)&UA)U/%/U )&&U%UA&%U%/UA)U)&U/A)U%//U )%U A &/U A &U/ A )U% )%UA)U%A &/UA &U/ )%A&/

c" /ada la !unci#n boaleana: K65NUWA5UNUWA5NW i. 1istar la tabla de verdad 1os t,rminos que con!orman la e2presi#n booleana son los valores de las variables para las cuales K es 1, por consiguiente: 9ara 5NUW6101, 5UNUW6001, 5NW6111 K61 entonces:
5 0 0 0 0 1 1 1 1 N 0 0 1 1 0 0 1 1 W 0 1 0 1 0 1 0 1 K 0 1 0 0 0 1 0 1

ii.

Simpli!icar la e2presi#n booleana 5NUWA5UNUWA5NW 5A5U"NUWA5NW 1"NUWA5NW NUWA5NW

<D

NUA5N"W NUA5" NUAN""W NUA5" 1""W NUA5"W NUWA5W iii. /ibujar el diagrama l#gico original y el simpli!icado

d" Simpli!icar la siguiente !unci#n usando mapas de [arnaug. K 2,y,z"6 X 1,7,;,8,D" 1a !unci#n original es: K65UNUWA5UNWUA5UNWA5NWUA5NW
WU W 5UNU 0 1 1 5UN 7 1 ; 1 5N 8 1 D 1 5NU < =

1a !unci#n simpli!icada quedar3: K65UWAN e" Simpli!icar la siguiente !unci#n usando mapas de [arnaug. K 2,y,z"6 X 0,7,;,<,8" 1a !unci#n original es: K65UNUWUA5UNWUA5UNWA5NUWUA5NWU
WU 0 7 1 1 1 1 D = W 1 ; 5UNU 1a !unci#n simpli!icada 1 quedar3: 5UN

K6WUA5UN 8 5N
5NU <

!" En una cierta empresa los cuatro directivos se distribuyen las acciones segn )6<=c, &6;0c, %61=c y /610c. /ise$ar una m3quina de escrutinio sabiendo que cada miembro tiene un porcentaje de voto igual a su nmero de acciones y que para aprobar una moci#n los votos a!irmativos deben superar el =0 c %ada vez que )61 se deber3 sumar <=c al resto de los votos, si &61 se debe adicionar un ;0c m3s, si %61 un 1=c m3s y si /61 un 10c m3s. Si al !inal la suma de los porcentajes es mayor que =0c entonces K61. %on lo anterior se construye la tabla siguiente: <C

0 1 7 ; < = 8 D

A 0 0 0 0 0 0 0 0

: 0 0 0 0 1 1 1 1

C 0 0 1 1 0 0 1 1

D 0 1 0 1 0 1 0 1

= C F 10 11 17 1; 1< 1=

A 1 1 1 1 1 1 1 1

: 0 0 0 0 1 1 1 1

C 0 0 1 1 0 0 1 1

D 0 1 0 1 0 1 0 1

= 1 1 1 1 1 1 1

1a e2presi#n booleana resultante es:


K6)U&%/A)&U%U/A)&U%/UA)&U%/A)&%U/UA)&%U/A)&%/UA)&%/

Simpli!ic3ndola ya sea por 3lgebra booleana o por mapas de Tarnaug. quedara: K6)&A)%A)/A&%/6) &A%A/"A&%/ El diagrama l#gico del dispositivo es:

g" Se desea gobernar un motor desde < interruptores: ),&,% y / de !orma que entre en !uncionamiento si est3n cerrados ; y s#lo ; de ellos. 1, 7, < y C son nmeros con ; bits igual a 0, por lo tanto: K ),&,%,/"6 X 1,7,<,C" 1uego: K6)U&U%U/A)U&U%/UA)U&%U/UA)&U%U/U )l no poderse simpli!icar el diagrama l#gico queda:

<F

." Hn circuito secuencial tiene 7 !lip?!lops /: ) y &I 7 entradas 5 y N, y una salida W. 1as ecuaciones de entrada de los !lip?!lops y la salida del circuito son como sigue: /)65UNA5), /&65U&A5) y W6& i. Eabular la tabla de estados. /ibujar el diagrama l#gico del circuito
Estado actual ) & 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 Estado actual ) & 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 Entradas 2 y 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 Entradas 2 y 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 Estado nuevo ) & 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 Estado nuevo ) & 0 0 1 0 1 1 1 1 0 1 1 1 1 1 1 1 Salida z 0 0 0 0 1 1 0 0 Salida z 0 0 1 1 1 1 1 1

=0

%on las ecuaciones de entrada se llena la tabla anterior, recordando que /) es el nuevo estado del !lip?!lop ) y / & del !lip?!lop & es decir que: )6/)65UNA5) y &6/&65U&A5) ii. /ibujar el diagrama l#gico del circuito.

iii. /ibujar el diagrama de transici#n de estados.


00B0 00B1 10B0 10d11"B0 11B0 01B0
1 0 0 0 0 1

00B0

01B1
1 1

00B1 01B1 10B1

01B0

10d11"B1 11B1

/onde el rotulado de las !lec.as signi!ica: 2yBz i" /ise$e un contador binario de 7 bits usando !lip?!lop ^[. El contador debe tener una entrada 5 la cual cuando es 0 el contador es ascendente y cuando 561, descendente. %omo el contador es de 7 bits signi!ica que se va a requerir de 7 !lip? !lop y por consiguiente e2istir3n < estados 00, 01, 10 y 11 que su vez se corresponder3n con las salidas deseadas 0, 1, 7 y ;, es decir que no se requiere de salida alguna ya que el estado o salida del !lip?!lop ser3 la salida del contador 9rimero dise$aremos el diagrama de estados de transici#n
0
0 0 0 1

1 0
1 1

1 1

1
1 0

=1

1uego, .aciendo uso de la tabla de e2citaci#n para !lip?!lop ^[, la tabla de estados
Estado actual ]0 ) & 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 Entrad a 5 0 1 0 1 0 1 0 1 Estado nuevo ]1 ) & 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 0 KK?) ^) 0 1 1 0 > > > > [) > > > > 0 1 1 0 KK?& ^& 1 1 > > 1 1 > > [& > > 1 1 > > 1 1

N mediante mapas de [arnaug. .allar ^ ), [), ^& y [& en !unci#n de ), &y5


[) )U&U )U& )& )&U 5U
0

5
1

>
7

>
;

>
8

>
D

1
<

0
=

^)6&5UA&U5

[)6&5UA&U5

^&61

[&61

Kinalmente usando las ecuaciones booleanas dise$amos el diagrama l#gico

7.11.7. 9ropuestos a" Simpli!icar 5UWU A NUWU A NWU A 5N

=7

b" Simpli!icar

)A&" )UA%" &UA%U"

c" /ada la !unci#n boaleana: )%U A &U/ A )U%/ A )&%/ i. 1istar la tabla de verdad ii. Simpli!icar la e2presi#n booleana iii. /ibujar el diagrama l#gico original y simpli!icado d" 'ndicar, e2plicando su respuesta, cual de las siguientes igualdades es correcta. i. a b A a c A c b 6 a A b" a A c " c A b " ii. a A b A c " a A b A c " A a b 6 a b c A a b c" a A b " iii. a a c" 6 a b a c e" Simpli!icar la siguiente !unci#n usando mapas de [arnaug. K6)U&U%UA)U&%A)&%A)&U%UA)&U% !" Se desea controlar dos motores 01 y 07 por medio de los contactos de tres interruptores ), & y %, de !orma que se cumplan las siguientes condiciones: i. Si ) est3 cerrado y los otros dos no, se activa 01. ii. Si % est3 cerrado y los otros dos no, se activa 07. iii. Si los tres interruptores est3n cerrados se activan 01 y 07. 9ara el resto de condiciones los motores estar3n parados. g" /ise$e un circuito l#gico que tenga < entradas y una salida. 1as < entradas son para ingresar un nmero de < bits y la salida debe ser 1 cuando el nmero sea mayor que 7 y menor que C. ." /ise$e un contador m#dulo C diagrama l#gico y diagrama de estados" con !lip?!lop tipo /. i" /ado el siguiente diagrama de estados dise$e el diagrama l#gico usando !lip?!lops tipo ^[
0 0 1 1 0 0 1 1

=;

Você também pode gostar