Libro sistemas logicos

159
  1 INTRODUCCION Mediante estas notas se pretende presentar una información en la forma más completa y mejor organizada posible en el área de las técnicas digitales. Para el estudio de ésta área no se requiere un conocimiento previo especial y por lo tanto, puede ser abordado por cualquier estudiante de Ingenierías. Se ha tomado como base la experiencia obtenida a través de varios semestres de actividad docente no sólo en los programas de Ingeniería Electrónica sino en otros como Ingeniería Eléctrica e Ingeniería de Sistemas, donde la materia es parte del pensum de estudios; asimismo el enfoque que las diferentes Universidades de la región le han dado a ésta área fue un punto de partida para la elaboración de estas notas. Este libro contiene las bases teóricas de la Lógica Combinatoria y la Lógica Secuencial mediante exposiciones bastante claras y asimilables, soportadas con ejemplos y aplicaciones en el mundo moderno. El desarrollo de los ejemplos mostrados han sido simulados con dos herramientas de software como son Logic Works y Altera.

description

Libro para comprender mejor los sistemas logicos

Transcript of Libro sistemas logicos

  • 1

    INTRODUCCION Mediante estas notas se pretende presentar una informacin en la forma ms completa y

    mejor organizada posible en el rea de las tcnicas digitales. Para el estudio de sta rea no

    se requiere un conocimiento previo especial y por lo tanto, puede ser abordado por

    cualquier estudiante de Ingenieras.

    Se ha tomado como base la experiencia obtenida a travs de varios semestres de actividad

    docente no slo en los programas de Ingeniera Electrnica sino en otros como Ingeniera

    Elctrica e Ingeniera de Sistemas, donde la materia es parte del pensum de estudios;

    asimismo el enfoque que las diferentes Universidades de la regin le han dado a sta rea

    fue un punto de partida para la elaboracin de estas notas.

    Este libro contiene las bases tericas de la Lgica Combinatoria y la Lgica Secuencial

    mediante exposiciones bastante claras y asimilables, soportadas con ejemplos y

    aplicaciones en el mundo moderno. El desarrollo de los ejemplos mostrados han sido

    simulados con dos herramientas de software como son Logic Works y Altera.

  • 2

  • 3

    Introduccin En este captulo se recordarn algunos conceptos muy elementales de la lgica a travs del anlisis prctico de los tipos de operadores lgicos bsicos y algunas aplicaciones del pensamiento lgico. Asimismo, se revisar alguna teora de los sistemas numricos posicionales tales como binario, octal y hexadecimal, la conversin entre los diferentes sistemas y las operaciones aritmticas bsicas en cualquier base, teniendo siempre como referencia nuestro sistema numrico decimal. Los cdigos han sido vitales en el desarrollo de las comunicaciones. El ms conocido a travs de los tiempos es el Cdigo Morse: se asignan unas combinaciones de puntos y rayas a cada letra, cada nmero carcter especial (a es punto-raya, b es raya-punto-punto-punto, etc.). Se enumeran en esta seccin algunos cdigos y se mencionan sus ventajas y desventajas. 1.1.- OPERADORES LOGICOS: AND: Operador lgico vlido si todas las proposiciones son vlidas. Ejemplo: Se va a realizar una fiesta en un club situado en las afueras de la ciudad. Para poder asistir se debe de cumplir con dos condiciones: pueden entrar nicamente parejas y es necesario conseguir un vehculo para transportarse. Si las condiciones se cumplen al mismo tiempo se puede asistir a la fiesta, en cualquier otro caso no. OR: Operador lgico vlido si por lo menos una de las proposiciones es vlida. Ejemplo: Para poder asistir a un partido de ftbol se tienen dos opciones : o consigue un pase consigue el dinero. Si cualquiera de las condiciones se cumple si las dos se cumplen se puede ir al partido de ftbol. NOT: Operador lgico negador. Ejemplo: Estudiar si no es de noche.

    Captulo 1. - SISTEMAS NUMERICOS Y CODIGOS

  • 4

    EX-OR: Operador lgico vlido si las proposiciones son diferentes. Ejemplo: La asistencia a un seminario un congreso en las ciudades de Medelln o Bogot. Va a uno va al otro, pero no puede ir a los dos al mismo tiempo. EQUI: Operador lgico vlido si las entradas son iguales. Ejemplo: En un juego de dos monedas lanzadas al aire, se gana si las dos caen cara o si las dos caen sello. En los operadores lgicos mencionados anteriormente se puede realizar un anlisis de todas las posibilidades existentes. Con dos proposiciones cada una con un valor de falso o verdadero, se tienen 4 diferentes combinaciones FF, FV, VF, VV. Tabule los resultados en una tabla, que contiene todas las posibles combinaciones de entradas y su valor respectivo de salida. Esta tabla es denominada tabla de verdad. La figura 1.1 muestra la tabla de verdad para los operadores lgicos mencionados.

    Prop 1 Prop 2 AND OR XOR EQUI F F F F F V F V F V V F V F F V V F V V V V F V

    Figura 1.1.- Tabla de verdad de los operadores AND, OR, XOR y EQUI.

    1.2.- APLICACIONES DEL PENSAMIENTO LGICO: 1.2.1.- Problema 1.- Lgico prisionero. Se le plantea a un prisionero la posibilidad de salir de su encierro, realizando una sola pregunta a uno de dos guardias que se encuentran vigilando dos puertas de salida: la una conduce a la horca y la otra a la libertad. De los dos guardias uno es veraz y el otro mentiroso. Esta condicin la conoce el prisionero y los guardias entre s.. Qu pregunta debe realizar el prisionero a uno cualquiera de los guardias? Una vez conocida la respuesta, qu camino tomar el prisionero? Por favor, el prisionero necesita de su ayuda. La pregunta clave sera: Si yo le preguntara a su compaero si la puerta que l vigila es la de la libertad l que me respondera? Ahora bien, una vez se ha respondido la pregunta es: qu camino debe tomar? Para ello se realizar un anlisis de todas las opciones que se tienen (4 en total, ya que es el nmero de posibles combinaciones para dos variables donde cada una puede tener nicamente los valores de falso y verdadero).

  • 5

    Esto nos lleva a elaborar una tabla de verdad de la siguiente forma mostrada en la figura 1.2 Guardias: Puertas: Respuestas sobre la puerta de la libertad: Veraz: 1 Horca: 0 Si: 1 Mentiroso: 0 Libertad: 1 No: 0

    Puerta 1 Guardia 1 Respuesta del guardia 1

    Guardia 2 (interrogado)

    Respuesta del guardia 2 al prisionero

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

    Figura 1.2.- Tabla de verdad para el anlisis del lgico prisionero Si se observan con cuidado las columnas 1 y 5, se puede deducir que el lgico prisionero toma siempre por la puerta contraria a la que le estaran sealando. 1.2.2.- Problema 2.- En el pas de los mentirosos y los veraces, qu pregunta puedo formular ante la cual existe una sola respuesta sin importar quin sea el interrogado? Es Ud. Veraz? Es Ud. Mentiroso?. Analice las respuestas de cada uno. 1.2.3.- Problema 3.- Examen. Un profesor realiza un examen de 5 preguntas con respuestas falso o verdadero. Siempre coloca la primera y la ultima pregunta con respuestas opuestas, mayor nmero de preguntas que tengan respuesta verdadera que falsa y nunca tres preguntas con respuestas seguidas. Acerca de la pregunta 2: su respuesta debe tener la certeza de responder bien de tal forma que sea la nica solucin para todo el curso. Con las tres primeras condiciones se tienen 4 posibilidades de solucin:

    A B C D 1 V V F F 2 F V V V 3 V F F V 4 V V V F 5 F F V V

  • 6

    Al analizar la respuesta 2, se debe tomar la opcin A, ya que al contestar la pregunta 2 como falsa hay una nica solucin; en el caso de tomar la respuesta 2 como verdadera se tienen 3 posibles respuestas. 1.3.- SISTEMAS NUMERICOS 1.3.1.- Sistema decimal: Un sistema numrico est conformado por un grupo ordenado de smbolos llamados dgitos con relaciones definidas. En un sistema numrico posicional un nmero es representado por una cadena de dgitos donde cada posicin tiene un valor o peso determinado. El nmero total de dgitos es igual a la base en la cual se est trabajando. Los dgitos para representar un sistema base B van desde el 0 hasta el (B-1). As por ejemplo, cualquier nmero en el sistema decimal (base 10: dgitos del 0 al 9) puede ser representado de la siguiente manera: 102 101 100 10-1 10-2 Peso 5 2 3, 6 7 10 = 5*100 + 2*10 + 3*1 + 6*0,1 + 7*0,01

    = 5*102 + 2*101 + 3*100 + 6*10-1 + 7*10-2 donde cada uno de los dgitos tiene un peso de acuerdo a su posicin: 100, 101, 102, 10-1 , 10-2 etc., nombrados como unidades, decenas, centenas, dcimas, centsimas, etc. para la parte entera y la parte fraccionaria. En forma general, podemos expresar un nmero en cualquier base B, como:

    d= di Bi n

    n

    .=

    1

    i = d0 *B0 + d1 *B1 +d2 *B2 +...+dn-1 *Bn-1 +...+d-1*B-1 + d-2*B-2 +...+d-n*B-n

    La numeracin consecutiva en sistema decimal se realizara incrementando en una unidad su valor actual. Por ejemplo, el nmero siguiente al 9 no se puede representar con un solo dgito, por lo tanto, se construye aumentando en una unidad la siguiente cifra significativa y arrancando de nuevo con el dgito 0, para formar el 10. 1.3.2.- Sistemas binario, octal y hexadecimal: Un nmero binario se representa mediante dos dgitos: el 0 y el 1. Estos son llamados bits (de Binary Digit). El bit de la derecha (el de menor peso) es denominado LSB (Least Significant Bit) y el de la izquierda (el de mayor peso) es denominado MSB (Most

  • 7

    Significant Bit). Los pesos de cada uno de los dgitos son potencias de 2: 1, 2, 4, 8, 16, 32, 64, etc. Los nmeros que se pueden representar en sistema binario con n bits es de 2n, que van desde el 0 hasta el (2n -1). Por lo tanto, con 4 bits se pueden representar 24 = 16 nmeros que iran desde el 0 hasta el 15, con 10 bits 210 = 1024 nmeros que iran desde el 0 hasta el 1023. Cmo se realiza una numeracin consecutiva en sistema binario? 0, 1, 10, 11, 100, 101, 110, 111, , 1011, 1100, , 101001, 101010, etc. Cada vez que se agotan los dgitos para representar se incrementa en uno la siguiente cifra significativa. Para determinar el valor decimal de un nmero binario se efecta la sumatoria de las multiplicaciones del valor del bit por el peso correspondiente. _________ Ejemplo 1.1: Cul es el valor decimal del nmero binario entero de 6 bits 1011012? 25 24 23 22 21 20 Peso 1 0 1 1 0 1 2 Dgitos Por lo tanto, el valor es de: 1*25 + 0*24 + 1*23 + 1*22 + 0*21 + 1*20 = 4510. Entonces, el 1011012 equivale al 4510. _____________ _________ Ejemplo 1.2: Cul es el valor decimal del nmero binario 1011.1012.? 23 22 21 20 2-1 2-2 2-3 Peso 1 0 1 1. 1 0 1 Dgitos Por lo tanto, el valor es de = 1*23 + 0*22 + 1*21 + 1*20 + 1*2-1 + 0*2-2 + 1*2-3 = 8 + 0 + 2 + 1 + 0.5 + 0 + 0.125 = 11.625 Entonces, el 1011.1012 equivale al 11.62510. _____________ Un nmero octal se representa mediante dgitos del 0 al 7. Los pesos de cada uno de los dgitos son potencias de 8: 1, 8, 64, etc. A su vez, cada dgito octal se puede representar por una combinacin de tres dgitos binarios o bits.

  • 8

    Cmo se realiza una numeracin consecutiva en sistema octal? 0, 1, 2, 3, 4, 5, 6, 7, 10, 11, .... , 17, 20, ...., 27, 30, ..., 37, 40, ..., 77, 100, ..., 107, 110, ..., 157, 160, ..., 177, 200, ... , 577, 600, ..., 777, 1000, etc. Cada vez que se agotan los dgitos para representar se incrementa en uno la siguiente cifra significativa. _________ Ejemplo 1.3: Cul es el valor decimal del nmero octal 2328 ? 82 81 80 Peso 2 3 2 Dgitos Por lo tanto, el valor de : 2* 82 + 3*81 +2*80 = 128+24+2 = 15410 . Entonces, 2328=15410 _____________ _________ Ejemplo 1.4: Convierta a binario el nmero octal 4758. Cada dgito octal se puede representar mediante un nmero binario de tres bits, entonces: 4 7 5 100 111 101 Este nmero binario 1001111012 es el 31710 . Verifique si 4758 corresponde a 31710 . _____________ Un nmero hexadecimal se representa mediante los dgitos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Los pesos de cada uno de los dgitos son potencias de 16: 0, 16, 256, etc. A su vez, cada dgito hexadecimal se puede representar por una combinacin de cuatro dgitos binarios o bits. Cmo se realiza una numeracin consecutiva en sistema hexadecimal ? 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, ... , 19, 1A, 1B, ... , 1F, 20, ... , 29, 2A,..., 2F, 30, ... , 69, 6A, ..., 6F, 70, ..., 99, 9A, ... , 9F, A0, ... , A9, AA, ... , AF, B0, ... , BF, C0, ... , F9, FA, ... , FF, 100, ... , 109, 10A, ... , 10F, 110, ... , 199, 19A, ... , 19F, 1A0, ... , 1AF, 1B0, etc. Cada vez que se agotan los dgitos para representar se incrementa en uno la siguiente cifra significativa.

  • 9

    ________ Ejemplo 1.5 : Cul es el valor decimal del nmero hexadecimal 8B16 ? 161 160 Peso 8 B Nmero Por lo tanto, el valor es de: 8*161 +11*160 = 13910. Entonces, 8B16 = 13910 . _____________ _________ Ejemplo 1.6 : Convierta a binario el nmero hexadecimal 1AF16. Cada dgito hexadecimal se puede representar mediante un nmero binario de cuatro bits, entonces : 1 A F 0001 1010 1111 Este nmero binario 1101011112 es el 43110 . Verifique si 1AF16 corresponde a 43110. _____________ En la figura 1.3 se muestra una tabla de los primeros 16 dgitos en las bases decimal, binario, octal y hexadecimal.

    Decimal (10) Binario(2) Octal(8) Hexadecimal(16) 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F

    Figura 1.3.- Representacin de los nmeros 0 a15 en diferentes sistemas numricos

    Un nmero binario puede escribirse fcilmente en un sistema octal o hexadecimal. Simplemente se hacen grupos de 3 bits para el caso del octal y grupos de 4 bits para el

  • 10

    hexadecimal, partiendo siempre de la derecha (el dgito menos significativo). _________ Ejemplo 1.7 : Exprese en octal y hexadecimal el nmero binario 101101012

    101101012 = 10 110 101 = 1011 0101 2 6 5 8 B 5 16. Convierta a decimal los nmeros mostrados en base 2, 8 y 16 y verifique que corresponden al 18110. _____________ Para la conversin de un nmero decimal a una base cualquiera se usa el mtodo de divisiones sucesivas. El nmero decimal a convertir se divide sucesivamente entre la base y se ordena el nmero resultante desde el dgito ms significativo hacia el menos significativo comenzando por el ltimo residuo. Para la conversin de fracciones decimales a una base cualquiera se usa el mtodo de multiplicaciones sucesivas de la parte decimal por la base hasta que el producto fraccionario sea cero. Los dgitos generados en la parte entera de las multiplicaciones conforman el nmero binario donde el primer dgito es el MSD y el ltimo es el LSD. Los ejemplos 1.8 y 1.9 muestran los procedimientos para realizar la conversin de un nmero decimal a su equivalente binario. _________ Ejemplo 1.8 : Convierta a nmero binario, octal y hexadecimal el nmero decimal 3510 _____________ _________ Ejemplo 1.9: Convertir a binario 0,687510.

    0,6857 x 2 = 1, 3750 1 MSB 0,3750 x 2 = 0, 750 0 0,750 x 2 = 1, 50 1 0,50 x 2 = 1, 00 1 LSB

    35 2 = 17 residuo 1 17 2 = 8 residuo 1 8 2 = 4 residuo 0 4 2 = 2 residuo 0 2 2 = 1 residuo 0 1 2 = 0 residuo 1 3510 = 1000112

    35 8 = 4 residuo 3 4 8 = 0 residuo 4 3510 = 438

    35 16 = 2 residuo 3 2 16 = 0 residuo 2 3510 = 2316

  • 11

    Por lo tanto, 0, 867510 = .10112 _____________ 1.3.3.- Operaciones aritmticas en base n : Para la realizacin de las operaciones aritmticas en cualquier base se usa la misma tcnica empleada para el sistema decimal. La operacin de suma nos va a permitir mostrar el procedimiento general aplicable a cualquier base, teniendo como punto de partida el manejo que a diario hacemos del sistema decimal. Algunos procedimientos a tener en cuenta para la operacin de suma en cualquier base (tomando como referencia la suma en sistema decimal) son : Los nmeros son adicionados columna por columna, una posicin a la vez. El nmero mximo a representar en un sistema base n es (n-1) (en decimal es el 9). Si

    excede ste valor, se debe generar un carry (llevo) para la siguiente posicin de ms alto orden.

    Consideremos la suma decimal de los nmeros 87 y 48. 11 ------- 87 48 ----- 135 Suma de los primeros dgitos (LSD) : 7 + 8 . Como se excede el mximo dgito a representar en decimal se genera un carry que nos indica que los nmeros de la base se han recorrido una vez y sobran 5 unidades. De la misma forma : 1+8+4 = 3 y llevo 1. En sistema binario tenemos la siguiente tabla de suma, que podemos aplicar a la operacin de suma mostrada en el ejemplo:

    0 + 0 = 0 llevo 0 0 + 1 = 1 llevo 0 1 + 0 = 1 llevo 0 1 + 1 = 0 llevo 1

    _________ Ejemplo 1.10: Realice la suma de los nmeros binarios 1011012 y 1000112 . 1 0 1 1 1 1 Carry 1 0 1 1 0 1 Sumando A=4510 1 0 0 0 1 1 Sumando B=3510

  • 12

    1 0 1 0 0 0 0 Suma = 8010 _____________ Cuando se realizan operaciones en sistema octal o hexadecimal, los nmeros mximos a representar son el 7 y el 15. Mediante los dos siguientes ejemplos miremos el procedimiento a seguir para realizar la suma en los dos sistemas : _________ Ejemplo 1.11: Realice la suma de los nmeros octales 3 5 78, 4 2 68 y 6 7 68 y la suma de los nmeros hexadecimales 3A716, 68516 y 7 F 316. Suma en octal 1 2 2 --------- 3 5 78 4 2 68 6 7 68 --------- 1 7 0 38 1 columna : 7+6+6 : (19) Se ha recorrido 2 veces la base (8) y sobran 3. 2 columna : 2+5+2+7 : (16) Se ha recorrido 2 veces la base y sobran 0. 3 columna : 2+3+4+6 : (15). Se ha recorrido 1 vez la base y sobran 7. 4 columna : bajo el 1.

    Suma en hexadecimal 1 2 --------- 3 A 716 6 8 516 7 F 316 --------- 1 2 1 F16 1 columna : 7+5+3 : (15). Es el dgito hexadecimal F. 2 columna : A+8+F : (33) Se ha recorrido 2 veces la base (16) y sobran 1. 3 columna : 2+3+6+7 : (18). Se ha recorrido 1 vez la base y sobran 2. 4 columna : bajo el 1.

    1.4.- CODIGOS Una representacin de informacin como caracteres alfabticos numricos da origen a un cdigo. Muchos de ellos son formados para tratar de minimizar los problemas que se crean al manejar un tipo de informacin. En los cdigos pesados la posicin en que se encuentra el bit tiene un peso especfico. En los cdigos no pesados son asignaciones que no tienen un peso determinado pero guardan cierta relacin entre sus palabras de cdigo ( p. ej. autocomplemento, cambio de un solo bit en numeracin consecutiva ). La figura 1.4 muestra cuatro tipos diferentes de cdigos cuyas caractersticas se mencionan enseguida.

  • 13

    1.4.1.- Cdigo BCD : (Binary Coded Decimal) Mediante ste cdigo se representan los 10 dgitos decimales del 0 al 9 mediante 4 bits y las combinaciones restantes no son vlidas. Los pesos son los mismos que para un entero binario de 4 bits : 8421. La figura 1.4 muestra el cdigo respectivo. _________ Ejemplo 1.12: Convertir a BCD el nmero decimal 94810. Cada dgito decimal es reemplazado por su cdigo correspondiente de 4 bits. 9 4 8 1001 0100 1000 _____________ _________ Ejemplo 1.13: Convertir a decimal el cdigo BCD 100001111001. Se divide el nmero en grupos de 4 bits comenzando por la derecha. 1000 0111 1001 8 7 9 _____________ Dgito decimal BCD (8421) 2421 Exceso de tres Biquinario

    0 0000 0000 0011 01 00001 1 0001 0001 0100 01 00010 2 0010 0010 0101 01 00100 3 0011 0011 0110 01 01000 4 0100 0100 0111 01 10000 5 0101 1011 1000 10 00001 6 0110 1100 1001 10 00010 7 0111 1101 1010 10 00100 8 1000 1110 1011 10 01000 9 1001 1111 1100 10 10000

    Figura 1.4.- Tabla de cdigos BCD,2421, exceso de tres y biquinario.

    1.4.2.- Cdigo biquinario Usa 7 bits. Los dos primeros indican si el nmero est en el rango de 0 a 4 de 5 a 9, y los 5 bits restantes sealan cul de los 5 nmeros del rango seleccionado es representado. De acuerdo a esto, podramos representar 27 palabras de cdigo ( 128 ). Tal como se muestra en la figura 1.4 ste cdigo reconoce nicamente los equivalentes a los dgitos decimales (0 a 9) y, por lo tanto, el resto de palabras pueden sealarse como errores.

  • 14

    1.4.3.- Cdigo exceso de tres Pertenece al grupo de cdigos autocomplementados (complemento a 9) no pesados. Es til para algunos tipos de operaciones aritmticas. La representacin de los nmeros del 0 al 9 se obtiene como el correspondiente al BCD ms 3 (0011). La figura 1.4 muestra el cdigo respectivo. 1.4.4.- Cdigo Gray Es un cdigo cclico (desplazamiento circular entre 2 palabras de cdigo), no pesado cuya caracterstica radica en que las palabras de cdigo para dos nmeros consecutivos difieren nicamente en un bit. La figura 1.5 muestra el cdigo Gray para 4 bits

    Binario Gray Binario Gray 0 0000 0000 8 1000 1100 1 0001 0001 9 1001 1101 2 0010 0011 10 1010 1111 3 0011 0010 11 1011 1110 4 0100 0110 12 1100 1010 5 0101 0111 13 1101 1011 6 0110 0101 14 1110 1001 7 0111 0100 15 1111 1000

    Figura 1.5.- Tabla de cdigo Gray del 0 al 15

    Mediante dos ejemplos mostraremos la generacin de cdigo Gray y su conversin a binario. _________ Ejemplo 1.14: Convertir el nmero binario 1011 a cdigo Gray . Procedimiento: El bit ms significativo MSB del cdigo Gray es el mismo MSB del nmero binario. Partiendo de la izquierda, realizar la suma de cada par adyacente de bits del nmero

    binario y descartar los carrys. 1 0 1 1 Binario = + + + 1 1 1 0 Gray _____________

  • 15

    _________ Ejemplo 1.15: Convertir el cdigo Gray 1011 a binario. Procedimiento : El bit ms significativo MSB del cdigo binario es el mismo MSB del nmero binario. Cada bit binario es el resultado de la suma del bit correspondiente en cdigo Gray y el

    anterior del nmero binario resultante. 1 0 1 1 Gray 1 1 0 1 Binario _____________ 1.4.5.- Cdigo ASCII ( siglas American Standard Code for Interchange Information) La informacin utilizada por los sistemas digitales no solo est limitada a nmeros. Texto, direcciones, estados e instrucciones pueden ser representados por un patrn de bits. En el cdigo alfanumrico ASCII se representan maysculas, minsculas, nmeros y caracteres especiales mediante 7 bits, es decir 128 caracteres. Es utilizado para aplicaciones en cmputo (cada letra pulsada desde el teclado es un cdigo ASCII enviado al computador). En la figura 1.6 se listan a manera de ejemplo algunos caracteres ASCII y su valor correspondiente en decimal, hexadecimal y binario. Car Dec Hex Binary Car Dec Hex Binary 32 20 0 0 1 0 0 0 0 0 @ 64 40 0 1 0 0 0 0 0 0 ! 33 21 0 0 1 0 0 0 0 1 A 65 41 0 1 0 0 0 0 0 1 " 34 22 0 0 1 0 0 0 1 0 B 66 42 0 1 0 0 0 0 1 0 # 35 23 0 0 1 0 0 0 1 1 C 67 43 0 1 0 0 0 0 1 1 $ 36 24 0 0 1 0 0 1 0 0 D 68 44 0 1 0 0 0 1 0 0 % 37 25 0 0 1 0 0 1 0 1 E 69 45 0 1 0 0 0 1 0 1 & 38 26 0 0 1 0 0 1 1 0 F 70 46 0 1 0 0 0 1 1 0 ' 39 27 0 0 1 0 0 1 1 1 G 71 47 0 1 0 0 0 1 1 1 ( 40 28 0 0 1 0 1 0 0 0 H 72 48 0 1 0 0 1 0 0 0 ) 41 29 0 0 1 0 1 0 0 1 I 73 49 0 1 0 0 1 0 0 1 * 42 2A 0 0 1 0 1 0 1 0 J 74 4A 0 1 0 0 1 0 1 0 + 43 2B 0 0 1 0 1 0 1 1 K 75 4B 0 1 0 0 1 0 1 1 , 44 2C 0 0 1 0 1 1 0 0 L 76 4C 0 1 0 0 1 1 0 0 _ 45 2D 0 0 1 0 1 1 0 1 M 77 4D 0 1 0 0 1 1 0 1 . 46 2E 0 0 1 0 1 1 1 0 N 78 4E 0 1 0 0 1 1 1 0 / 47 2F 0 0 1 0 1 1 1 1 O 79 4F 0 1 0 0 1 1 1 1

    + + +

  • 16

    Car Dec Hex Binary Car Dec Hex Binary 0 48 30 0 0 1 1 0 0 0 0 P 80 50 0 1 0 1 0 0 0 0 1 49 31 0 0 1 1 0 0 0 1 Q 81 51 0 1 0 1 0 0 0 1 2 50 32 0 0 1 1 0 0 1 0 R 82 52 0 1 0 1 0 0 1 0 3 51 33 0 0 1 1 0 0 1 1 S 83 53 0 1 0 1 0 0 1 1 4 52 34 0 0 1 1 0 1 0 0 T 84 54 0 1 0 1 0 1 0 0 5 53 35 0 0 1 1 0 1 0 1 U 85 55 0 1 0 1 0 1 0 1 6 54 36 0 0 1 1 0 1 1 0 V 86 56 0 1 0 1 0 1 1 0 7 55 37 0 0 1 1 0 1 1 1 W 87 57 0 1 0 1 0 1 1 1 8 56 38 0 0 1 1 1 0 0 0 X 88 58 0 1 0 1 1 0 0 0 9 57 39 0 0 1 1 1 0 0 1 Y 89 59 0 1 0 1 1 0 0 1 : 58 3A 0 0 1 1 1 0 1 0 Z 90 5A 0 1 0 1 1 0 1 0 ; 59 3B 0 0 1 1 1 0 1 1 [ 91 5B 0 1 0 1 1 0 1 1 < 60 3C 0 0 1 1 1 1 0 0 \ 92 5C 0 1 0 1 1 1 0 0 = 61 3D 0 0 1 1 1 1 0 1 ] 93 5D 0 1 0 1 1 1 0 1 > 62 3E 0 0 1 1 1 1 1 0 ^ 94 5E 0 1 0 1 1 1 1 0 ? 63 3F 0 0 1 1 1 1 1 1 _ 95 5F 0 1 0 1 1 1 1 1

    Figura 1.6.- Tabla de caracteres ASCII. Los primeros 23 caracteres ASCII son comandos de control (por ejemplo, para comunicacin entre dispositivos cuando datos y seales son transferidos) y los restantes 105 son smbolos grficos (letras maysculas, minsculas, nmeros, signos de puntuacin y smbolos especiales muy usados). En el cdigo ASCII extendido de 8 bits (128 caracteres adicionales) se representan caracteres para grficos, sombreados, letras griegas, smbolos matemticos y otros especiales. 1.4.6.- Cdigos de deteccin y correccin de errores: La manera ms sencilla de adicionar la deteccin de errores en un dato es incluir un bit de paridad. El valor del bit es escogido de tal forma que el nmero de unos sea par o impar. Este tipo de deteccin es til donde los errores tienen una probabilidad razonable de ocurrencia de un nico error de bit, pero no puede detectar dos errores dentro de un grupo. Es muy usado en transmisiones seriales, paralelas y memorias. Algunos cdigos proveen una deteccin de errores mejor que con el de bit de paridad. Los cdigos 2 de 5 y biquinario utilizan cdigos que tienen dos unos en cada grupo de 5 y de 7 bits, respectivamente. El cdigo del contador en anillo tiene 10 bits de los cuales nicamente uno de ellos est en 1. En estos casos si aparecen menos o ms de dos unos en los dos primeros cdigos ms de un uno en el tercero, indica que existe un error. En algunos casos especiales la adicin de este bit de paridad no es suficiente para la

  • 17

    deteccin del error por lo que se crearon mtodos para codificar bits extras como el cdigo de Hamming, el cual permite no solo detectar el error sino corregirlo. Un cdigo de Hamming para 7 bits posee 4 bits de datos y 3 bits de cdigo. Los bits estn arreglados de la forma mostrada en la figura 1.7, donde los bits de datos estn marcados como D3, D2, D1 y D0 y los bits de cdigo C2 C1 y C0 ubicados en las posiciones de la palabra 22 (4), 21 (2) y 20 (1) , respectivamente. Un ejemplo de construccin de la palabra de cdigo Hamming es mostrado en la figura 1.7. Cada uno de los grupos es construido de tal forma que cuando un bit presente error, un patrn nico es identificado por los bits de cdigo. Si los bits de datos son 0101 y los cdigos de paridad son generados para una paridad impar, el resultado total ordenado estara dado por 0100110, tal como lo muestra la figura 1.7.

    Figura 1.7.- Cdigo de Hamming de 7 bits

    Si, por ejemplo, el patrn 0100010 es detectado (difiere en el bit 3), el grupo de paridad para C2 es correcto (0), y C1 y C0 estn errados (1), lo cual resultara en un sndrome de error de 011, indicando que el bit de la posicin 3 es incorrecto. Este bit puede ser corregido negando su valor. _________ Ejemplo 1.16: a) Determinar el cdigo de Hamming para el nmero BCD 1001 (bits de datos), utilizando paridad par. b) Suponga que la palabra de cdigo recibida es 1000100. Encuentre el bit de error en la transmisin si se utiliz paridad par. a) Los bits de informacin D3 D2 D1 D0 1 0 0 1 El grupo de paridad C2 lo conforman D1 D2 D3.Por lo tanto C2 = 1 El grupo de paridad C1 lo conforman D0 D2 D3.Por lo tanto C1 = 0 El grupo de paridad C0 lo conforman D0 D1 D3.Por lo tanto C2 = 0 La palabra de cdigo de Hamming resultante es: 1 0 0 1 1 0 0.

    Bits de datos D3 D2 D1 D0

    Bits de cdigo C2 C1 C0

    Grupo de paridad para C2

    Grupo de paridad para C1

    Grupo de paridad para C0

    D3 D2 D1 C2 D0 C1 C0

    7 6 5 4 3 2 1

    0 1 0 0 1 1 0

  • 18

    b) La palabra recibida es : D3 D2 D1 C2 D0 C1 C0

    1 0 0 0 1 0 0 El grupo de paridad C2 lo conforman D1 D2 D3.Por lo tanto la paridad es impar El grupo de paridad C1 lo conforman D0 D2 D3.Por lo tanto la paridad es par El grupo de paridad C0 lo conforman D0 D1 D3.Por lo tanto la paridad es par Si el valor de la paridad es correcto se asigna un 0 y si es errneo un 1. Entonces, el sndrome de error es (100) correspondiente al bit nmero 4 (numerado desde la derecha con 1234567) y en consecuencia ese bit debe ser cambiado a 1 (C2). _____________ EJERCICIOS 1.- Convertir los siguientes nmeros a base 10 : a) (A37B)16 b) (5037)8 c) (01111001)2 2.- Convertir los siguientes nmeros fraccionarios a base 10 : a) (.1011)2 b) (.121)3 c) (.3217)8 d) (.A0F)16 3.- Convertir los siguientes nmeros a base 10 a) (157.542)8 b) (1B.5A)16 c) (17.64)8 4.- Convertir : a) (522)10 a base 16 b) (1245)10 a base 8 c) (124)10 a base 2 5.- Convertir : a) (11011010)2 a las bases 4, 8 y 16 b) (D4B5)16 a bases 2, 4 y 8 6.- Convertir : a) (.632)10 a base 16 b) (.312)10 a base 2 7.- Convertir: a) (110.1110)2 a bases 8 y 16 b) (E3.1C)16 a bases 2 y 8 8.- Realice la operacin de los nmeros en las bases especificadas: a) (5475)8 + (1673)8 b) (C74F)16 + (AF39)16 c) (1011)2 +(10111)2 + (1101)2

    d) (101101)2 (11011)2 e) (4A57)16 (2F4A)16 9.- Escriba un algoritmo que permita realizar la conversin de un nmero en BCD a binario y de un nmero binario a BCD. 10.- Investigue los conceptos de cubo-n y distancia, CRC, cdigos bidimensionales y cdigos para el almacenamiento y la transmisin de datos en serie ( NRZ, RZ, Manchester)

  • 19

    Introduccin Existen dos tipos de circuitos en el rea de la electrnica Digital : Combinatorios y secuenciales : En el circuito combinatorio las salidas dependen nica y exclusivamente de sus entradas, tal como se representa en la figura 2.1.a. En el secuencial las salidas no solo dependen de las entradas directas al circuito sino del estado anterior el valor que tom la salida un instante antes. Como se puede observar en la figura 2.1b, la realimentacin (seal de salida hacia la entrada nuevamente) es la caracterstica del tipo de circuitos secuenciales. a) Circuito combinatorio b) Circuito secuencial.

    Fig. 2.1.- Circuitos combinatorios y secuenciales

    2.1.- COMPUERTAS LOGICAS El descubrimiento del transistor y su aplicacin como elemento interruptor, es decir, que puede tener dos estados elctricos perfectamente definidos, dio origen a las compuertas lgicas que cumplen con las condiciones de falso y verdadero de los operadores lgicos mencionados anteriormente. 2.1.1.- Definiciones : - Lgica positiva : nivel alto de voltaje se asigna a un 1 (High) y bajo para un 0

    L(Low) - Lgica negativa : el nivel bajo representa un 1 lgico y el alto un 0. - Seal activa en alto : Seal que se activa cuando est en 1 lgico (normalmente en

    0). - Seal activa en bajo : Seal que se activa cuando est en 0 lgico (normalmente en

    1).

    Captulo 2. - LOGICA COMBINATORIA

    A B C

    A B

    S S

  • 20

    La operacin de cada una de estas compuertas se puede describir mediante una tabla de verdad. A continuacin se relacionan cinco tipos de compuertas bsicas, con su definicin correspondiente, smbolo descriptivo y de IEEE, tabla de verdad, ecuacin booleana, y circuitos equivalentes elctricos o electrnicos de algunas de ellas. 2.1.2.- Compuerta AND : Valida su salida si todas las entradas son vlidas. Ecuacin booleana: . Ver figura 2.2.

    Smbolo

    A B S 0 0 0 0 1 0 1 0 0 1 1 1

    Tabla de verdad

    Figura 2.2..- Compuerta AND : simbologa y tabla de verdad.

    2.1.3.- Compuerta OR : Vlida si por menos una de sus entradas es valida. Ecuacin booleana : . Ver figura 2.3:

    Smbolo

    A B S 0 0 0 0 1 1 1 0 1 1 1 1

    Tabla de verdad

    Figura 2.3..- Compuerta OR : smbologa y tabla de verdad

  • 21

    2.1.4.- Compuerta NOT : La salida es la negacin de la entrada . Ecuacin booleana : . Ver figura 2.4.

    Smbolo

    A S 0 1 1 0

    Tabla de verdad

    Figura 2.4..- Compuerta NOT : smbologa y tabla de verdad

    2.1.5.- Compuerta EX- OR : Valida su salida si las entradas son diferentes. Ecuacin booleana : . Ver figura 2.5:

    Smbolo

    A B S 0 0 0 0 1 1 1 0 1 1 1 0

    Tabla de verdad

    Figura 2.5..- Compuerta EXOR : smbologa y tabla de verdad

    2.1.6.- Compuerta NAND : Es una compuerta And seguida de una negacin. Ecuacin booleana: . Ver figura 2.6:

    Smbolo

    A B S 0 0 1 0 1 1 1 0 1 1 1 0

    Tabla de verdad

    Figura 2.6.- Compuerta NAND : smbologa y tabla de verdad

  • 22

    2.1.7.- Compuerta NOR: Es una compuerta Or seguida de un negador. Ecuacin booleana : .Ver figura 2.7

    Smbolo

    A B S 0 0 1 0 1 0 1 0 0 1 1 0

    Tabla de verdad

    Figura 2.7.- Compuerta NOR: simbologa y tabla de verdad

    2.1.8.- Circuitos equivalentes: Todas estas compuertas analizadas tienen un circuito equivalente con interruptores y con semiconductores, los cuales son mostrados en la figura 2.8.

    Con interruptores Con diodos Con interruptores Con diodos

    Circuitos And Circuitos Or

    Fig. 2.8.- Circuitos equivalentes And y Or con interruptores y semiconductores

    Los dos ltimos tipos de compuertas Nand y Nor descritas en las secciones 2.1.6 y 2.1.7 tienen una gran importancia dentro de la minimizacin de funciones : debido a su comportamiento intrnseco como elemento inversor, su construccin es mucho ms sencilla y por lo tanto, es la ms econmica del mercado. Conociendo las tablas de verdad de las compuertas estudiadas, los siguientes ejemplos muestran el circuito equivalente con compuertas NAND y NOR de cada una de las compuertas bsicas estudiadas.

  • 23

    _________ Ejemplo 2.1. Disee una compuerta NOT con compuertas NAND y NOR. La figura 2.9 muestra dos formas de realizar una NOT con NAND y NOR.

    Figura 2.9.- Compuerta NOT implementada con NAND _____________ _________ Ejemplo 2.2.- Disee una compuerta AND con compuertas NAND , y una compuerta OR con compuertas NOR. La figura 2.10 muestra los circuitos equivalentes

    Figura 2.10.- Compuerta AND y OR implementadas con NAND y NOR. _____________ _________ Ejemplo 2.3.- En los circuitos mostrados en la figura 2.11 determine a qu compuerta es equivalente.

    Figura 2.11.- Compuerta OR y AND implementadas con NAND y NOR. El primer circuito es una compuerta OR y el segundo una compuerta AND. Se puede expresar que : una compuerta OR es equivalente a una compuerta NAND con las entradas negadas, y una compuerta AND es equivalente a una compuerta NOR con las entradas negadas. _____________

  • 24

    _________ Ejemplo 2.4.- En los circuitos mostrados en la figura 2.12 determine a qu compuerta es equivalente.

    Figura 2.12.- Compuerta XOR y EQUI implementadas con NAND y NOR

    El primer circuito es una compuerta XOR y el segundo es una compuerta EQUI. Para realizar una compuerta EQUI con compuertas NAND bastara agregar un negador a la salida del circuito XOR. De forma similar con compuertas NOR se puede llegar a una XOR negando la salida del segundo circuito. _____________ Como se puede ver de este ejercicio, cualquiera de las compuertas bsicas puede ser implementada nicamente con compuertas NAND o compuertas NOR. Hay dos cosas para recordar y que posteriormente sern confirmadas cuando se vean los teoremas de Morgan en el Algebra de Boole : Una compuerta OR es equivalente a una compuerta NAND con las entradas negadas. Una compuerta AND es equivalente a una compuerta NOR con las entradas negadas. 2.2.- PROBLEMAS DE APLICACIN DE COMPUERTAS: Muchos de los diseos que se realizan en el rea de la Lgica Digital requieren no solo del conocimiento de las diferentes tcnicas sino de mucho razonamiento lgico. Con las herramientas que tenemos hasta el momento (tablas de verdad) vamos a resolver y dejar planteados algunos problemas, en los cuales nos centraremos en la parte lgica y dejaremos de lado el manejo de potencia y de sensores. _________ Ejemplo 2.5.- En una mezcladora de concreto se tienen sensores para detectar el suministro o n de 3 elementos : agua, piedra y cemento. As mismo, se tiene una seal de control M para encender o apagar el motor. Se desea disear un control que : a.) active el motor si estn los tres elementos presentes b.) active el motor si estn presentes agua y piedra si hay agua y cemento.

    Adicionalmente, que cumpla con la condicin a.).

  • 25

    Es una buena prctica dibujar el diagrama en bloques del circuito a disear, tal como se muestra en la figura 2.13. Para este ejemplo el sistema a disear posee tres entradas : agua A, piedra P y cemento C y una sola salida motor M. Claramente se puede ver que la parte a) se representa mediante una compuerta And. Para la parte b) las conjunciones y o definen las compuertas And y Or, respectivamente. Ver figura 2.13.

    Figura 2.13.- Mezcladora de concreto _____________ _________ Ejemplo 2.6 .- Una hornilla de una estufa elctrica posee dos resistencias R1 y R2 que, de acuerdo a la posicin del control, permite tener tres niveles de calor : bajo, medio y alto. Disee un circuito lgico que funcione as : si el control esta en bajo activa la resistencia R 1, si esta en medio activa R2 y si esta en alto activa R1 y R2 al mismo tiempo. Cundo se activa R1 ? Cuando est activado Bajo Alto. Cundo se activa R2 ? Cuando est activado Medio Alto. Ver figura 2.14

    Figura 2.14.- Estufa elctrica _____________ _________ Ejemplo 2.7.- Con los proyectores de diapositivas de comienzos de siglo se suministraban una serie de recomendaciones para su buen manejo, ya que estos equipos tenan dos suiches S1 y S2 totalmente independientes para alimentar el ventilador y el bombillo. La advertencia era : Para encender el proyector oprima el interruptor S 1, el cual va a activar el ventilador y a continuacin oprima S2 para activar el bombillo de alta potencia. Para apagar oprima primero S2 y seguidamente S1. (Esta secuencia permite que el bombillo

    A C P

    M

    A M B

    R1

    R2

  • 26

    permanezca en todo momento con la ventilacin requerida. Cualquier error en la secuencia daaba el bombillo ). Se desea disear un circuito lgico que tenga como seales de control los dos suiches S1 y S2 y seales de salida B y V para activar el bombillo y el ventilador, respectivamente. Sin importar cul de los dos interruptores es pulsado debe encender primero el ventilador y luego al pulsar el segundo debe prender el bombillo. Para el apagado primero debe hacerlo el bombillo y luego el ventilador. Cundo se prende el ventilador ? Cuando cualquiera de los suiches se activa (Or). El bombillo nicamente se activar si los dos suiches estn activados al mismo tiempo.Ver figura 2.15.

    Figura 2.15.- Proyector de diapositivas _____________ _________ Ejemplo 2.8.- Disee un detector de nmeros impares. El circuito tendr como entrada 4 bits y una salida Y que se valida si el nmero de entrada (expresado en 4 bits) es impar. En caso contrario, Y es igual a 0.

    Figura 2.16.- Detector de nmeros impares Si se analizan detenidamente los nmeros binarios de 4 btis del 0 al 15, el bit menos significativo A de todos los impares es 1. Por lo tanto, la salida Y se puede conectar directamente a la entrada A. Ver figura 2.16. _____________

    SW1A SW2

    V

    B

    A B C D

    Y

  • 27

    _________ Ejemplo 2.9.- Disee un circuito conversor de decimal a BCD. El circuito tiene como entrada las diez (10) teclas decimales del 0 al 9 y como salidas A,B,C,D. Al oprimir una tecla decimal su valor equivalente en binario aparecer en las cuatro salidas. En la figura 2.17 se pueden ver dos tipos de circuitos con interruptores que suministran los valores binarios de 1 y 0 representados como voltaje Vcc y 0 voltios, respectivamente. En el circuito de la figura 2.17 a) cuando el interruptor est abierto la salida es +Vcc (1 lgico) y al cerrarlo coloca 0 voltios (0 lgico). El circuito de la figura 2.17 b) normalmente suministra un 0 lgico y al ser activado el interruptor coloca un 1 lgico, trabajando en forma totalmente opuesta al circuito mostrado en la figura a). Este circuito que normalmente est en 0 y se activa a 1 es denominado activo en 1 activo en alto ; al circuito de la figura b) donde normalmente suministra un 1 y al activarse da un 0 es denominado activo en 0 activo en bajo.

    a) b)

    Figura 2.17.- Diagrama en bloques y dos tipos de interruptor Para disear el conversor decimal a BCD se debe analizar en cules nmeros es activo cada uno de los bits de salida A, B, C, D. As pues : A = 1+3+5+7+9 ; B = 2+3+6+7 ; C= 4+5+6+7 ; D=8+9 Estas ecuaciones identifican a compuertas OR y el circuito final manejado por los tipos de interruptores mostrados en la figura 2.17 b) es mostrado en la figura 2.18 a). En caso de utilizar el tipo de interruptores mostrados en la figura 2.17 a), el circuito puede ser cambiado a compuertas Nand de la forma mostrada en la figura 2.18 b) : compuertas Or con las entradas negadas equivalen a una Nand.

    0 1 2

    D 3 C B A

    4 5 6 7 8 9

  • 28

    a) b)

    Figura 2.18.- Conversor decimal a BCD con OR y NAND _____________ _________ Ejemplo 2.10.- Disee un circuito que detecte cuando un nmero de entrada de 4 bits es igual a 7 ( si es igual proporciona un 1 a la salida, en caso contrario, mostrar un 0). Se aprovecha la caracterstica de que si la compuerta And tiene todas sus entradas en 1 la salida toma el valor de 1 y cualquier otra combinacin (por lo menos una de las entradas es 0) coloca un 0 a la salida. Ver figura 2.19. Utilizando el mismo principio se puede disear un comparador con cualquier nmero.

    Figura 2.19.- Comparador de un nmero _____________ Siguiendo el mismo procedimiento desarrollado anteriormente encuentre la solucin a los siguientes problemas: Problema 1.- En una banda transportadora se encuentran trabajando 3 operarios A, B, y C cada uno de los cuales tiene un sensor que registra si est presente o no. El supervisor de la lnea tiene un indicador luminoso y un monitor del estado del motor que hace girar la banda. Se desea disear un circuito lgico de 3 entradas A, B y C y 2 salidas L (luz) y M (motor) que funcione de la siguiente manera: si un operario deja la lnea (activa un sensor de presencia) el motor debe continuar trabajando pero el indicador luminoso se enciende advirtindole que hay nicamente dos personas en la lnea. Cuando sale el segundo operario el sistema sale de funcionamiento apagando tanto el indicador como el motor.

    D C B S A

  • 29

    PROBLEMA 2.- Disee un indicador del estado de tres bateras A, B y C que active: una luz verde en el caso de tener las tres bateras estn en buen estado, una luz amarilla si una cualquiera ha salido de funcionamiento y una luz roja cuando dos o tres bateras estn malas. 2.3.- ALGEBRA DE BOOLE En el ao de 1854 Boole desarroll un sistema algebraico de dos valores, el cual fue adaptado por Shannon (1938) para analizar y describir el comportamiento de circuitos construdos con relevos. El Algebra de Boole es definido como el conjunto de reglas algebraicas para manejar circuitos de dos estados (binarios). Los elementos bsicos son el 1 y el 0. Las operaciones disponibles son And, Or y Not. La relacin elemental es la de equivalencia ( = ). La And tiene prevalencia sobre la Or. Principio de dualidad: Los teoremas o identidades del Algebra de Boole siguen siendo vlidos si intercambiamos los 0 por 1, los 1 por 0, las funciones And por Or y Or por And. Se presentan a continuacin los axiomas y postulados en parejas duales. 2.3.1.- Axiomas : (A1) A = 0 si A 1 (A1) A = 1 si A 0 (A2) Si A=0 entonces =1 (A2) Si A = 1 entonces = 0 (A3) 0.0 = 0 (A3) 1+1 = 1 (A4) 1.1 = 1 (A4) 0+0 = 0 (A5) 0.1 = 1.0 = 0 (A5) 1+0 = 0 +1 = 1 2.3.2.- Teoremas : (T1) A+0 = A (T1) A.1 = A (identidades) (T2) A+1 = 1 (T2) A.0 = 0 (elementos nulos) (T3) A+A = A (T3) A.A = A (idempotencia) (T4) = A (involucin) (T5) A+ = 1 (T5) A. = 0 (complementos) (T6) A+B = B+A (T6) A.B = B.A (conmutatividad) (T7) (A+B)+C = A+(B+C) (T7) (A.B).C = A.(B.C) (asociatividad) (T8) A.B+A.C = A.(B+C) (T8) (A+B).(A+C) = A+B.C (distributividad) (T9) A+A.B = A (T9) A.(A+B) = A (cobertura absorcin) (T10) A + .B = A + B (T10) A.( +B) = A.B (T11) A.B + A. = A (T11) (A+B).(A+ ) = A (combinacin) (T12) (T12)

  • 30

    (T13) = + (T13) = . (Teorema de Morgan) (T14) (T14) Teorema generalizado de Morgan.

    (T15) (T15) Teorema de consenso Ejercicios : Demuestre los teoremas T9, T10, T11,T12 y T15 y sus respectivos duales. En el algebra de Boole la And tiene prevalencia sobre la Or. As por ejemplo,

    .

    El teorema de Morgan permite verificar las equivalencias realizadas en forma intuitiva en la seccin 2.1.8. Tal como est especificado el teorema 13 y su dual, podemos enunciar que : Nand es equivalente a una Or con las entradas negadas Nor es equivalente a una And con las entradas negadas Si negamos a lado y lado de la ecuacin, tendremos que : And es equivalente a una Nor con las entradas negadas Or es equivalente a una Nand con las entradas negadas. Visto de otra forma, el negado de una funcin se puede obtener cambiando todos los operadores Or por And, And por Or, 0 por 1 y 1 por 0 y negando trmino a trmino. 2.3.3.- Representaciones estandar : Algunas definiciones : Literal : Variable o su complemento . P. ej, Trmino de producto : Un solo literal o su producto . P.ej, Expresin en forma de suma de productos : Suma de trminos de producto. P.ej, Trmino de suma : Un solo literal o su suma. P. ej, , Expresin de producto de sumas : Producto de trminos de suma.

    P. ej, . Trmino normal : Trmino de producto o trmino de suma en el que ninguna variable

    aparece ms de una vez . Esto implica que los trminos no normales se pueden reducir

  • 31

    aplicando los teoremas mencionados anteriormente. P. ej., , Mintrminos de n variables es un trmino de producto normal con n literales (existen 2n

    trminos). P. ej, Mintrmino de 4 variables : Maxtrmino de n variables es un trmino de suma normal con n literales (existen 2n

    trminos ). P.ej, Maxtrmino de 4 variables : Suma cannica de una funcin lgica es la suma de mintrminos correspondientes para

    las que la funcin produce una salida de 1. P.ej, A,B,C (0, 2,4,6) = Producto cannico de una funcin lgica es un producto de los maxtrminos

    correspondientes para los que la funcin produce una salida de 0. P. ej, A,B,C ( 1,3,5) = Finalmente, estas dos expresiones son equivalentes, A,B,C (0,2,4,6) = A,B,C (1,3,5,7). Los mintrminos y maxtrminos de 3 variables se muestran en la siguiente tabla (figura 2.20) Valores Mxtrmino Mintrmino

    Figura 2.20.- Listado de mintrminos y maxtrminos de 3 variables.

    2.4.- ANALISIS DE CIRCUITOS COMBINACIONALES

    Mediante el anlisis se describe el comportamiento de un circuito combinacional, donde se pueden visualizar todos los casos posibles (tabla de verdad), se pueden realizar estudios de riesgos, etc. con el fin de tener alternativas de estructuras y transformarlo a arreglos disponibles tales como PAL. Este anlisis de circuitos combinacionales se puede realizar por medio de tablas de verdad, manipulacin algebraica y diagrama de tiempos: En el primer mtodo se elabora una tabla de verdad con todas las posibles 2n

  • 32

    combinaciones. Este procedimiento es bastante largo y tedioso pero permite ver las combinaciones de entrada para las cuales la salida es vlida. Un segundo mtodo consiste en obtener del circuito una descripcin formal mediante las ecuaciones. Manipulando stas mediante Algebra de Boole, se pueden realizar conversiones de forma de suma de productos a productos de suma y viceversa, y simplificaciones lo cual planteara unas nuevas estructuras a la medida del diseador. Mediante el diagrama de tiempos se representa grficamente el comportamiento de las seales de entrada y salida en un rango de tiempo determinado. En los siguientes ejemplos podemos ver tres diferentes estructuras para cada uno de ellos, resultantes de realizar manipulaciones algebraicas: Ejemplo 2.11.- Plantee la ecuacin de cada de los circuitos mostrados. Realice un anlisis por tabla de verdad (2n combinaciones ).

    Figura 2.21.- Ejemplo1 de circuitos equivalentes

    Ecuacin del circuito : Ejemplo 2.12.- Plantee la ecuacin de cada de los circuitos mostrados. Realice un anlisis por tabla de verdad (2n combinaciones).

    Figura 2.22.- Ejemplo 2 de circuitos equivalentes

    Ecuacin del circuito : . Recuerde que una compuerta EXOR puede expresarse mediante la ecuacin : , y la compuerta EQUI (o EXOR negada) por :

  • 33

    . 2.5.- SINTESIS DE CIRCUITOS COMBINACIONALES 2.5.1.-Frmula cannica Conociendo las combinaciones para las cuales la salida se valida se forma una ecuacin cannica con los minterminos de la funcin para despus proceder, mediante el Algebra de Boole, a obtener ecuaciones mnimas Disee un detector de nmeros primos de 4 bits A, B,C,D que valide una salida S si el nmero es primo y produzca un 0 en caso contrario. A,B,C,D (1,2,3,5,7,11,13) =

    A partir de esta ecuacin se puede realizar un primer esquema en funcin de compuertas Or y And de varias entradas, sin embargo, sta se puede minimizar mediante Algebra de Boole utilizando el teorema de asociacin convenientemente. Ejercicio : Minimizar la ecuacin anterior y proponer diferentes alternativas. Realice el circuito con compuertas. 2.5.2.- Mapas de Karnaugh : Un mapa de Karnaugh no es ms sino una representacin grfica de una tabla de verdad. Podemos representar una funcin dada de n variables mediante un mapa de 2n cuadros, donde los valores externos muestran los estados de las variables de entrada y el valor interno muestra el valor correspondiente de salida para esa combinacin especial de entrada. A continuacin se muestran los mapas de Karnaugh para 2 y 3 variables en la figura 2.23 y 4 variables de entrada en la figura 2.24 con sus respectivas reas :

  • 34

    A

    0 1

    AB Area de A Area de A B C 00 01 11 10

    0

    Area de B 0

    Area de C

    1

    Area de B 1

    Area de C

    Area A

    Area

    A Area de B

    Area de B

    Figura 2.23.- Mapas de Karnaugh para 2 y 3 variables

    AB Area de A Area de A CD 00 01 11 10

    Area de

    C

    00

    01

    Area de D

    Area de

    D Area de C

    11

    10

    Area de B

    Area de B

    Figura 2.24.- Mapa de Karnaugh para 4 variables

    En el mapa de Karnaugh se definen dos reas para cada variable de entrada dada (por ejemplo, A): donde la variable de entrada existe (su valor es 1) y se designa como el rea donde es vlida (Area de A) y donde la variable de entrada no existe (su valor es 0) y se designa como el rea donde no es vlida (Area de ).

  • 35

    2.5.2.1.- Funciones en mapas de Karnaugh : Cmo se representan las funciones bsicas And y Or en un mapa de dos variables?

    A

    0 1

    B

    0 1 Area de B

    1 1 1 Area de B

    Area A

    Area

    A

    La funcin Or se puede representar en el mapa de Karnaugh por la unin de las reas donde es vlido A y es vlido B.

    F = A + B

    La funcin And se puede representar en el mapa de Karnaugh por la interseccin de las reas donde es vlido A y es vlido B.

    F = A . B

    A

    0 1

    B

    0

    Area de B

    1

    1 Area de B

    Area A

    Area

    A

    En un mapa de Karnaugh cada uno de los trminos de producto coloca un nmero determinado de unos. As por ejemplo, en un mapa de Karnaugh de 4 variables un trmino de una variable pone 8 unos, unos de dos variables 4 unos, uno de tres variables 2 unos y uno de 4 variables coloca en el mapa un solo uno. Miremos algunos trminos: dibuje sobre un mapa de 4 variables los siguientes:

    , , , , . Ellos colocan 8, 4, 2, 1 y 4 unos adyacentes, respectivamente. En resumen, el mapa de Karnaugh en cuanto a sus reas se comporta como si fuera cilndrico tanto vertical como horizontalmente (por ejemplo, rea de , rea de ) y las cuatro esquinas son adyacentes

  • 36

    entre s como si fuera esfrico ( por ejemplo, el trmino coloca 4 unos adyacentes en los cuatro esquinas). Realice el mapa de Karnaugh de la funcin definida por:

    Teniendo en cuenta que cada uno de los trminos definidos en la funcin se puede graficar mediante la interseccin de las reas y a su vez que la suma de trminos de producto es la unin de ellos, se puede realizar la funcin completa directamente en un solo mapa de 4 variables, pues cada 1 de los trminos de producto forman parte del mapa final.

    AB CD 00 01 11 10

    00 1 1

    01 1

    11

    10 1 1 1 1

    Figura 2.25.- Trmino redundante en mapa de Karnaugh

    Si se mira detenidamente en la funcin el trmino no aporta unos adicionales al mapa, por lo tanto, este es denominado trmino redundante. Ver figura 2.25 (cuadro sombreado). Ahora bien, cmo se realizara la representacin de una funcin en forma de producto de sumas? Se podra pensar en realizar un mapa para cada trmino de suma. Una vez construdos los n mapas para los n trminos se pueden superponer para encontrar la interseccin de ellos. Este es un trabajo bastante dispendioso. Una forma sencilla de graficar es aplicar el teorema de Morgan: definir el negado de la funcin cambiando funciones Or por And y viceversa, quedando la ecuacin en forma de suma de productos. Una vez construdo este mapa en forma de suma de productos se cambian 0 por 1 y 1 por 0 para tener la funcin original.

  • 37

    Aplicando el teorema de Morgan (ver figura 2.26):

    AB CD 00 01 11 10

    00 1 1

    01 1

    11 1 1

    10 1 1

    Figura 2.26.- Mapa de Karnaugh de la funcin

    Cambiamos ahora 0 por 1 y 1 por 0 , para tener la funcin F (ver figura 2.27)

    AB CD 00 01 11 10

    00 1 1

    01 1 1 1

    11 1 1

    10 1 1

    Figura 2.27.- Mapa de Karnaugh de la funcin F

    2.5.2.2.- Extraccin de funciones del mapa de Karnaugh Se define como: implicante de una funcin lgica al trmino de producto que puede ser usado para cubrir los mintrminos de una funcin. implicante primo de una funcin lgica al implicante que no es parte de cualquier otro implicante de la funcin. implicante primo esencial de una funcin lgica al implicante primo que cubre por lo menos un mintrmino que no es cubierto por otro implicante primo.

  • 38

    Retomemos el ejemplo del detector de nmeros primos. Primero podemos representar la funcin lgica en un mapa de Karnaugh de 4 variables copiando los valores de salida donde la funcin es vlida (1) en cada una de las celdas correspondientes. F = A,B,C,D (1,2,3,5,7,11,13)

    AB CD 00 01 11 10

    00

    01 1 1 1

    11 1 1 1

    10 1

    Figura 2.28.- Implicantes en un mapa de Karnaugh

    Con el fin de tener trminos de menor nmero de variables se seleccionan primero implicantes que cubran el mayor nmero de 1 . En nuestro caso, existe un solo implicante que cubre 4 unos y 3 implicantes que cubren 2 unos. Ver figura 2.28. Falta ahora escribir la ecuacin de la funcin en forma de suma de productos

    y la implementacin con compuertas Or, And y Not es mostrada en la figura 2.29.

  • 39

    Figura 2.29.- Circuito de detector de nmeros primos 2.5.2.3.- Condiciones de no importa En algunos casos, pueden existir combinaciones de entrada que nunca ocurren y para efectos del mapa de Karnaugh la salida podra tomar cualquier valor. El ejemplo 2.13 muestra el caso del diseo del detector de nmeros primos que hemos venido trabajando pero ahora se plantea la restriccin a BCD. Ejemplo 2.13 .- Disee un detector de nmeros primos en BCD Las entradas vlidas para este caso son del 0 al 9. Las combinaciones del 10 al 15 nunca ocurren ,y el mapa de Karnaugh es mostrado en la figura 2.30. F = A,B,C,D(1,2,3,5,7) + d(10,11,12,13,14.15).

    AB CD 00 01 11 10

    00 X

    01 1 1 X

    11 1 1 X X

    10 1 X X

    Figura 2.30.- Mapa de Karnaugh con condiciones de no importa

  • 40

    Estas condiciones de no importa especificadas en el mapa mediante X pueden tener los valores de 0 1 y se pueden agupar dentro de un implicante como comodin para as obtener trminos de menos variables. Ver figura 2.30. De acuerdo a esto, la funcin puede expresarse como : 2.5.2.4.- El Mapa de Karnaugh en la eliminacin de hazard Cada compuerta y dispositivo digital tiene un tiempo de retardo de propagacin (definido como el tiempo que demora la salida en cambiar contado desde el momento en que se efectu un cambio en la entrada) del orden de nanosegundos asociado. Los anlisis realizados hasta ahora no han tenido en cuenta esta caracterstica, la cual puede producir efectos indeseables tales como spikes en la salida de circuitos combinacionales ( algunas veces llamados glitches ). Estos pulsos indeseados pueden iniciar una serie de operaciones no programadas en etapas siguientes. Hazard esttico : Este tipo de hazard es producido por el retardo asimtrico que sufre una seal al tomar diferentes caminos, como por ejemplo a travs de compuertas negadoras. La figura 2.31 muestra los tipos de hazard estticos asociados a las compuertas And y Or. En la figura 2.31 a) el inversor produce un retardo de la seal que llega a la And generndose a la salida un glitch positivo debido a la transicin de 0 a 1 de la seal de entrada; usualmente este tipo de Hazard es denominado Hazard esttico positivo.

    Figura 2.31 a) Figura 2.31 b)

  • 41

    En el caso de reemplazar la compuerta And por una compuerta Or se obtiene glitch negativo debido a la transicin de 1 a 0 de la seal de entrada, tal como se muestra en la figura 2.31 b) y es llamado Hazard esttico negativo. Para ilustrar este efecto analizaremos el circuito de dos niveles mostrado en el ejemplo 2.14. Ejemplo 2.14.- Deduzca el diagrama de tiempos del circuito mostrado en la figura 2.32 y plantee una solucin al problema del hazard presentado.

    Figura 2.32.- Circuito con hazard esttico Teniendo como base los mostrados en las figuras 2.31 a) y b) realice un diagrama de tiempos y verifique la existencia de un hazard. El mapa de Karnaugh muestra claramente el Hazard producido por la transicin de 1 a 0 de la seal de entrada A, esto es, la transicin del estado 111 al estado 011 entre los dos implicantes definidos. Esto sugiere que este Hazard puede ser eliminado adicionando un trmino redundante BC en la expresin de salida, tal como se muestra en la figura 2.33.

    AB C

    00

    01

    11

    10

    0 1

    1 1 1 1

    Aqu el trmino de producto que enlaza los dos implicantes definidos (redundante) soluciona el hazard presentado mostrado en la figura 2.32.

    Figura 2.33.- Solucin para hazard esttico

  • 42

    En forma general, en el caso en que se presenten transiciones fcilmente visibles en el mapa de Karnaugh de la funcin de salida el Hazard esttico puede ser eliminado agrupando el mayor nmero de celdas que cubran uno o varios implicantes. Como ejemplo de anlisis estudie la funcin : El Hazard esttico puede ser eliminado adicionando trminos redundantes solamente si la lgica interna del dispositivo puede ser alterada. Los dispositivos MSI y LSI no pueden cambiar su configuracin, pero al utilizar PLA realizando la programacin adecuada puede ser evitado. 2.6.- IMPLEMENTACION MEDIANTE COMPUERTAS NAND Una vez obtenida la funcin del mapa de Karnaugh se puede realizar una implementacin en forma mnima con compuertas Nand nicamente. Para ello aplicamos el teorema de Morgan : Una Or es equivalente a una Nand con las entradas negadas y, Una And es equivalente a una Nand con su salida negada Una funcin sencilla en forma de suma de productos se puede representar mediante compuertas Nand, tal como se muestra en la figura 2.34 :

    Figura 2.34.- Representacin de OR-AND mediante compuertas NAND

    , pero , y, . Finalmente,

    Un segundo circuito para analizar (figura 2.35):

    Figura 2.35.- Representacin OR-AND mediante compuertas NAND

    , pero . Finalmente,

  • 43

    De ello podemos establecer tres sencillas reglas: Si numeramos desde salida hacia entrada los niveles de compuertas Nand, 1.- Una compuerta Nand ubicada en un nivel impar trabaja como si fuera Or. 2.- Una compuerta Nand ubicada en un nivel par trabaja como si fuera And. 3.- Las variables que entran directamente a niveles impares van negadas. Ejemplo 2.15.- Deduzca la ecuacin del circuito mostrado en la figura 2.36.

    Figura 2.36.- Ejemplo 2.15: Implementacin NAND

    Teniendo en cuenta las reglas enunciadas anteriormente se puede deducir fcilmente la ecuacin de los circuitos :

    (( ) )BACDEF ++= Ejemplo 2.16.- Deduzca la ecuacin del circuito mostrado en las figura 2.37.

    Figura 2.37.- Ejercicio 2.16.- Implementacin NAND.

    La compuerta Nand cuyas entradas son A y B trabaja en dos niveles diferentes dependiendo de la entrada de la compuerta de salida que sea tomada : para la entrada inferior de la compuerta de salida trabaja como And y para la superior como Or ; por lo tanto, la ecuacin del circuito sera :

    Para diseo de circuitos implementados con compuertas Nand exclusivamente, es necesario conformar redes Or-And- Or-And-Or-... para conformar los niveles impares y pares, respectivamente. Es conveniente que, al realizar las manipulaciones algebraicas, las variables que entran directamente queden ubicadas en funciones Or con lo cual se estaran ahorrando negadores.

  • 44

    Implemente las siguientes ecuaciones con compuertas Nand de dos entradas : Ejemplo 2.17.- Ecuacin :

    Figura 2.38.- Implementacin con compuertas NAND de dos entradas (Ej.2.17) Ejemplo 2.18.- Ecuacin :

    Figura 2.39.- Implementacin con compuertas NAND de dos entradas (Ej.2.18) Ejemplo 2.19.- Ecuacin :

    Figura 2.40.- Implementacin con compuertas NAND de dos entrada (Ej.2.19) Ejemplo 2.20.- Ecuacin : La solucin de ste circuito es la mostrada en la figura 2.37. 2.7.- EJERCICIO DE RECAPITULACION Los pasos de sntesis, mediante mapas de Karnaugh, a seguir son: 1.- Elaboracin de la tabla de verdad. 2.- Representacin mediante mapas de Karnaugh 3.- Conformacin de implicantes primos. 4.- Obtencin de la ecuacin a partir de los implicantes. 5.- Implementacin mediante funciones bsicas Or, And y Not 6.- Minimizacin mediante el uso de compuertas Nand. En el siguiente ejemplo se muestran uno a uno los pasos de diseo mediante mapas de Karnaugh

  • 45

    Ejemplo 2.21.- Disee un comparador de dos nmeros P y Q de dos bits cada uno, que tenga tres salidas as: I= 1 si P=Q, M = 1 si P>Q, y m = 1 si P

  • 46

    Figura 2.41.- Implementacin con Nand de un comparador Ejemplos adicionales: Realice mediante mapas de Karnaugh los ejercicios 7 y 8 de la seccin 2.2. En el caso de 5 variables para la extraccin de funciones se pueden asimilar los dos mapas de Karnaugh de 4 variables como dos planos uno tras otro donde existen adyacencias entre E=0 y E=1. (por ejemplo, el implicante mostrado en la figura 2.42). Ejemplo 2.22.- Deduzca la ecuacin para el mapa de Karnaugh mostrado en la figura 2.42.

    CD

    AB 00 01 11 10

    00 1 1 1 E=0 01 1 1

    11 1 1 10 1

    CD

    AB 00 01 11 10

    00 1 E=1 01 1

    11 1 10 1

  • 47

    Fig. 2.42.- Mapa de Karnaugh para 5 variables

    De la figura 2.42 se puede extraer la siguiente funcin :

    Verifique esta funcin mediante el mtodo de minimizacin programada de Quine McClauskey. 2.8.- METODOS DE MINIMIZACION PROGRAMADA : QUINE McCLAUSKEY Cuando el nmero de variables de entrada se incrementa (mayor de 6) se hace ms difcil realizar la tarea de extraer funciones de un mapa de Karnaugh. El mtodo algortmico de Quine McClauskey permite encontrar una representacin mnima de una expresin booleana. Recordemos primero el teorema de combinacin (T.11 y T.11 de la seccin 2.3.2) : A.B + A. = A (A+B).(A+ ) = A La clave del mtodo radica en la tabulacin de todos los mintrminos y al ir aplicando repetidamente ste teorema se van encontrando los implicantes primos. La mejor manera de entender el procedimiento es a travs del siguiente ejemplo: Ejemplo 2.23.- Aplique el mtodo de minimizacin programada Quine McCluskey a la funcin F = m (4,5,6,8,9,10,13 ) + d ( 0,7,15 ). 1.- Liste todos los mintrminos includos los de las condiciones de No Importa agrupndolos de acuerdo al nmero de 1s, , tal como se muestra en la columna I, de la figura 2.43. Columna I Columna II Columna III Grupo de 0 1s 0 0000 0,4 0-00 * 4,5,6,7 01--

    * 0,8 -000 * 5,13,7,15 -1-1

    * Grupo de 1 1s 4 0100 8 1000 4,5 010- 4,6 01-0 Grupo de 2 1s 5 0101 8,9 100- * 6 0110 8,10 10-0 * 9 1001 10 1010 5,7 01-1

  • 48

    5,13 -101 Grupo de 3 1s 7 0111 6,7 011- 13 1101 9,13 1-01 * Grupo de 4 1s 15 1111 7,15 -111 13,15 11-1

    Figura 2.43.- Tabla de mintrminos y minimizacin

    2.- Compare los elementos del primer grupo contra cada elemento en el segundo, buscando los mintrminos que difieran nicamente en una sola variable. Estos mintrminos adyacentes se combinan formando un implicante, el cual es colocado en la columna II. Revisemos el algoritmo de Quine Mc Cluskey para la primera columna: Comparando el primer grupo (ningn cero) contra el segundo grupo ( un 1s ), el mintrmino 0 es comparado contra los mintrminos 4 y 8, generndose los trminos 0-00 y -000 en la segunda columna. Cada vez que un trmino ayuda a conformar un nuevo implicante, se marca con un . Esto significa que el implicante no es primo, ya que puede ser combinado con algn otro elemento para formar un implicante ms grande. Comparando el segundo grupo (un 1s ) contra el tercer grupo ( dos 1s ), el mintrmino 4 es combinado con los mintrminos 5 y 6, generndose los trminos 010- y 01-0. El mintrmino 8 se combina con 9 y 10, resultando 100- y 10-0. Para el tercer grupo (dos 1s) y el cuarto grupo (tres 1s), el mintrmino 5 se combina con el 7 y el 13 para dar 01-1 y 0101. El 6 con el 7 generan 011- . El 9 combinado el 13 da el 1-01. Cuando comparamos el cuarto grupo (tres 1s) contra el quinto grupo ( cuatro 1s), dos trminos son adicionados : -111 y 11-1., al combinar el mintrmino 7 con el 15 y el 13 con el 15. La columna II muestra el resultado de la primera bsqueda donde se especifican los mintrminos combinados y el implicante generado. Ver figura 2.43. Exactamente el mismo procedimiento es aplicado para la columna II. Los elementos deben diferir ahora en un bit pero deben tener el - en la misma posicin. Como los elementos del grupo 1 no se pueden combinar con elementos del grupo 2 los marcamos con un * debido a que son implicantes primos. En el segundo y tercer grupo de la columna II, 010- puede ser combinado con 011-, generando 01-- colocado en la columna III. Este mismo elemento es producido por 01-0 y 01-1. Los elementos 100- y 10-0 son implicantes primos. En el tercer y cuarto grupo de la columna II, Los elementos -101 y -111 y 01-1 y 11-1 son combinados para generar el -1-1.

  • 49

    El mismo procedimiento se aplica para la columna III. Ver figura 2.43. Hasta aqu se han encontrado los siguientes implicantes : 0-00 = -000 = 100- = 10-0 = 1-01 = 01-- = -1-1 = 2.8.1.- Procedimiento de cubrimiento : Para determinar el mnimo nmero de implicantes primos necesarios para realizar la funcin se elabora una carta de implicantes primos tal como se muestra en la figura 2.44, la cual es construda relacionando los mintrminos en la horizontal y los implicantes primos encontrados en la vertical sin tener en cuenta las condiciones de no importa. Si el mintrmino representado por la columna es cubierto por el implicante indicado en la fila se coloca una X en la interseccin.

    4 5 6 8 9 10 13 IP1 0,4 X IP2 0,8 X IP3 8,9 X X IP4 8,10 X IP5 9,13 X X IP6 4,5,6,7 X X IP7 5,7,13,15 X X

    Figura 2.44.- Carta de implicantes primos

    Buscamos ahora los implicantes primos esenciales, que se detectan fcilmente al observar las columnas que poseen una sola X , lo cual significa que hay un mintrmino que es cubierto por uno y solo un implicante primo (marcadas con ) . De la tabla mostrada en la figura xxxx podemos observar que los implicantes primos esenciales son IP4 e IP5, los cuales cubren adicionalmente los mintrminos 8, 4 y 5 (chequeados en la ltima fila).

    Se debe buscar ahora el mnimo nmero de implicantes primos que cubran los mintrminos restantes (los mintrminos 9 y 13). El implicante IP5 cubre ambos mintrminos.

    Por lo tanto, la implementacin mnima de la funcin dada ser :

    IP4 + IP5 + IP6 = 10-0 + 1-01 + 01--

  • 50

    = A travs del mapa de Karnaugh podemos verificar el resultado. Ver figura 2.45.

    AB CD

    00

    01

    11

    10

    00 X 1 0 1

    01 0 1 1 1

    11 0 X X 0

    10 0 1 0 1

    Figura 2.45.- Mapa de Karnaugh para el ejercicio analizado

  • 51

    Introduccin

    De acuerdo al nmero de compuertas que posee un integrado (escala de integracin), se clasifican en : SSI : Small Scale Integration, si posee entre 1 y 10 compuertas, p. ej. integrado 7400 (4 compuertas Nand de dos entradas). MSI: Medium Scale Integration, si posee entre 10 y 100 compuertas, p. ej. decodificadores, multiplexores. LSI : Large Scale Integration, si posee entre 100 y 1000 compuertas, p. ej. Unidades aritmticas. VLSI : Very Large Scale Integration, si posee ms de 1000 compuertas, p. ej. Microprocesadores. Una vez estudiadas las compuertas lgicas, su aplicacin y las herramientas de diseo (Mapas de Karnaugh, Mtodo de Quine Mc Cluskey) vamos a analizar bloques funcionales de circuitos combinatorios tales como multiplexores, decodificadores, comparadores, sumadores, circuitos aritmticos y describir algunas de sus aplicaciones. 3.1.- DECODIFICADORES / DEMULTIPLEXORES: Un circuito decodificador activa una y solo una de 2 n salidas disponibles, de acuerdo al valor que tome una entrada de n bits. Normalmente, las salidas de stos dispositivos se encuentran en 1 y se activan llevando la salida correspondiente a 0. Por lo tanto, estos dispositivos poseen n entradas y 2 n salidas. Ver figura 3.1.

    Figura 3.1.- Decodificador de n entradas y circuito equivalente para dos entradas.

    Captulo 3. - CIRCUITOS COMBINATORIOS MSI Y LSI

    n entradas

    2n salidas activasen bajo

  • 52

    Existe una seal de control para el dispositivo enable, activa en cero, que permite habilitar el circuito como decodificador. En el otro estado las salidas son fijadas a un valor de 1. En algunos casos, una segunda seal de control maneja la activacin en forma completamente opuesta : con cero las salidas son puestas a 1 y permite el funcionamiento con un uno a su entrada. La figura 3.1 muestra el circuito equivalente del decodificador. Las salidas del decodificador binario corresponden, cada una, a un mintrmino de n variables. Por lo tanto, cualquier funcin se puede representar como la suma de mintrminos. Ejemplo 3.1.- Implemente la funcin A,B,C (0,3,5,7) La salida se valida si las entradas A, B y C tienen cualquiera de los siguientes valores: 0, 3, 5 7. Ver figura 3.2

    Figura 3.2.- Funciones combinatorias realizadas con decodificadores La gran aplicacin de los decodificadores la encontramos en los sistemas de decodificacin de direcciones de memoria y de circuitos de entrada y salida donde es necesario que uno y solo uno de los dispositivos utilizados (memoria entrada/salida) est activo a travs de una direccin nica mientras que los restantes conectados al mismo punto (bus) permanecen desconectados. Se describen a continuacin algunos circuitos integrados decodificadores de la serie 74 LS con sus caractersticas de funcionamiento ms importantes: Los circuitos decodificadores pueden conectarse en cascada de la forma mostrada en el ejemplo 3.2.

    INTEGRADO DECODIFICADOR SEALES DE HABILITACION 74LS 139 2 a 4 lneas - Doble G (activa en cero) 74LS138 3 a 8 lneas G1 (activa en uno)

  • 53

    G2=G2A+G2B (activa en cero) 74LS154 4 a 16 lneas G1,G2 (activa en cero) 74LS42/5 4 a 10 lneas

    BCD a decimal

    74LS155 2 a 4 lneas -Doble G1 (activa en bajo), C1 (activa en alto) G2 (activa en bajo), C2 (activa en bajo)

    Ejemplo 3.2.- Disee un decodificador de 16 lneas utilizando decodificadores de 4 lneas. El diseo es mostrado en la figura 3.3.

    Figura 3.3.- Decodificadores en cascada. Un circuito demultiplexor toma una seal de entrada y la enruta a una de las varias salidas definida por las entradas de seleccin del dispositivo. Una de las entradas de habilitacin puede ser usada como una lnea de dato en aplicaciones como demultiplexor. Verifquelo. Ejercicio 1: Disee un decodificador de 4 a 16 lneas con decodificadores de 3 a 8. Ejercicio 2: Disee un decodificador de 5 a 32 lneas. 3.2.- VISUALIZADORES La interfase entre un sistema digital y el usuario se realiza a travs de dispositivos que presentan los dgitos decimales y otros caracteres adicionales ( 10,11,12,13,14,15) . La base de stos es el LED ( Light Diode Emitter ), el cual emite energa en el rango de luz visible

  • 54

    infrarrojo cuando es polarizado en forma directa ( positivo al nodo, negativo al ctodo) y la intensidad depende de la corriente que circula a travs de l. Si arreglamos 7 Leds en la forma mostrada en la figura 3.4, tenemos una interfase capaz de visualizar cualquiera de los dgitos mostrados en la figura 3.5. a f b g e c d Figura 3.4.- Visualizador de 7 segmentos

    Estos 7 Leds pueden arreglarse de dos formas: nodo comn y ctodo comn. En el primero los nodos de los 7 segmentos son comunes y van conectados a la fuente de alimentacin +V Voltios. Para hacer prender cualquiera de ellos basta con colocar en su respectivo terminal de ctodo un cero lgico. En el segundo los ctodos van al mismo punto comn y a tierra 0 Voltios y para encender uno de los segmentos se debe colocar un 1 en su terminal de nodo.

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

    Figura 3.5.- Designacin numrica y visualizacin resultante Para manejar los visualizadores de 7 segmentos de nodo comn y ctodo comn se necesitan dos tipos de decodificadores, en el caso de TTL: el 74LS 47 y 74LS48, respectivamente, en los cuales las salidas, normalmente a 1, se van a activar con un 0 para hacer encender el Led respectivo para el caso primer caso y, todo lo contrario para el segundo caso. Adicionalmente a la decodificacin BCD a 7 segmentos stos circuitos poseen 3 funciones para el manejo de sistemas de visualizacin: LT : Lamp Test. Al activar sta entrada todos los segmentos se activan mostrando un 8. RBI : Ripple Blanking Input. Permite el borrado de los 0 a la izquierda de la cifra ms significativa a travs de conexiones en cascada. BO : Blanking Output. Apaga completamente el visualizador sin importar el nmero que tenga a su entrada. En la figura 3.6 se muestra la conexin tpica de un sistema de visualizacin de 7 segmentos, donde los valores de las resistencias son calculados de acuerdo al valor de la corriente que se va a suministrar a cada segmento (intensidad luminosa).

  • 55

    Figura 3.6.- Conexin de un sistema de visualizacin de 7 segmentos 3.3.- MULTIPLEXORES: Llamados multiplexores, selectores de datos Mux stos circuitos permiten seleccionar el paso de una de n seales de entrada. El equivalente mecnico que describe muy bien ste comportamiento es el suiche de varias posiciones, tal como se muestra en la figura 3.7, en donde cada posicin es escogida mediante un nmero binario de n bits. El circuito equivalente de un multiplexor de 2 a 1 lneas es mostrado en la figura 3.7 d) a) b)

    c) d) Figura 3.7.- Selectores de : a) 2 a 1 lneas , b) 4 a 1 lneas, c) 8 a 1 lneas, d) circuito equivalente

    In1 In2

    In3 In4 In5 In6

    In7 In8

    Selector So S1 S2 S3

    In1 In2

    Y

    Select S0

    In1 In2 In3 In4

    Y

    Select S0 S1

  • 56

    Se describen a continuacin algunas caractersticas de funcionamiento ms importantes de los circuitos integrados multiplexores de la serie 74 LS: INTEGRADO MULTIPLEXOR SEALES DE HABILITACION 74LS 150 1 de 16 Strobe (activa en cero habilita el

    circuito).Salida W invertida 74LS 151 1 de 8 Strobe (activa en cero habilita el

    circuito).Salidas Y y W complementarias. 74LS 153 2 (1 de 4) Seleccin comn. Seales de Strobe 1G y 2G

    separadas. 74LS 157 4 (1 de 2) Strobe (activa en cero). Una palabra de 4 bits

    es seleccionada de dos fuentes. Como generador de funciones el mux permite fcilmente implementarlas colocando cada una de las entradas en el valor de salida que corresponda a cada mintrmino. Veamos el siguiente ejemplo mostrado en la figura 3.8 implementado con un multiplexor 74151 de 8 a 1 lneas. Ejemplo 3.3.- Mediante multiplexores implemente la funcin

    Cada una de los valores de entradas para los que la salida se valida son llevados a 1 lgico y los restantes a 0 lgico, tal como se muestra en la figura 3.8

    Figura 3.8.- El multiplexor como generador de funciones

    Ejemplo 3.4.- Utilizando multiplexores 74LS151 ( 1 de 8) implemente la funcin

  • 57

    La funcin puede ser tabulada como se muestra en la figura 3.9. El circuito es mostrado en misma figura.

    ENTRADA SALIDA C B A D=0 D=1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1

    Figura 3.9.- Generador de funciones (4 variables) con multiplexores 74151

    Ejemplo 3.5.- Disee multiplexores en cascada. La solucin es forma mostrada en la figura 3.10.

  • 58

    Figura 3.10.- Multiplexores en cascada.

    Ejercicio 3: Realizar un multiplexor de 1 de 32 basados en mux 1 de 8 (74LS151). 3.4.- CODIFICADORES : Estos circuitos asignan un cdigo binario nico para cada una de las seales de entrada del dispositivo. Las salidas deben satisfacer que 2 s >= n, donde n es el nmero de entradas. Codificador de prioridad: Este circuito muestra el equivalente en 3 bits del valor de la lnea de entrada de ms alta prioridad (la entrada I7). La mayor aplicacin de este circuito es en las solicitudes de interrupcin que se hacen a un dispositivo microprocesador.

    INTEGRADO CODIFICADOR SEALES DE HABILITACION 74LS 147 De 10 lneas a 4 74LS 148 De 8 lneas a 4

    (octal) E1 habilitacin activa en cero. Salidas Gs y EO complementarias. Conexin en cascada a travs de EI y EO.

    3.5.- COMPARADORES: Estos circuitos permiten la comparacin en magnitud de dos nmeros de n bits, con la posibilidad de tener conexiones en cascada para efectuar comparaciones ms grandes . Adicional a las entradas de los dos nmeros de 4 bits el integrado 74 LS 85 posee otras tres marcadas como A>B, A

  • 59

    (llevo) 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1

    Esta sencilla funcin puede implementarse mediante una compuerta Ex-Or para el resultado de la suma y a travs de una And para el Carry. Este circuito es denominado medio sumador (Half Adder). Pero normalmente en operaciones aritmticas con nmeros binarios debe incluirse no slo los trminos de An y Bn sino tambin el Carry que viene de la anterior cifra significativa. Este circuito es denominado sumador completo (Full Adder) y puede ser realizado con base en circuitos medio sumadores de la forma que aparece en la figura 3.11. Las ecuaciones para este circuitos estn dadas como :

    , y,

    Circuito medio sumador Circuito sumador completo. (Half adder) (Full adder)

    Figura 3.11.- Circuitos medio sumador y sumador completo.

    Con base en este sumador completo se conforman sumadores paralelos de n bits tal como se muestra en la figura 3.12. En este arreglo es necesario esperar el tiempo suficiente para que el carry se propague a travs de todos los circuitos sumadores.

    FA

    Bn An

    Sn

    Cn+1 Cn Cn+1 C0 C1 C2 FA

    B2 A2

    S2

    FA

    B1 A1

    S1

    FA

    B0 A0

    S0

  • 60

    Figura 3.12.- Circuito sumador paralelo de dos nmeros de n bits cada uno.

    El 74 LS 83 es un circuito sumador paralelo de carry anticipado de dos nmeros de 4 bits cada uno con una salida de suma de 4 bits. Posee una entrada adicional Ci (carry de entrada) y una salida adicional C0 (carry de salida). Estos permiten realizar conexiones en cascada para suma de nmeros de ms de 4 bits. 3.6.1.- Suma en BCD : Cuando se realiza una suma en BCD el resultado puede exceder o ser igual a 10. Si a este nmero se le resta 10 dar el resultado correcto para el dgito pero es generado un carry en la siguiente cifra significativa. Esta resta de 10 es equivalente a realizar la suma con el complemento a 2`s en BCD (1010), o sea, 0110 en BCD o 6 en decimal. Mediante un mapa de Karnaugh se puede deducir la ecuacin de Cn incluyendo el valor correspondiente al carry de salida para detectar una suma de 10 a 19, siendo

    La figura 3.13 muestra una configuracin bsica para un sumador BCD, donde se indican las conexiones de los carrys siguientes y anterior para realizar montajes con varias etapas de sumadores BCD.

    Figura 3.13.- Sumador BCD

  • 61

    3.6.2.- Suma binaria acelerada look-ahead: Al ir aumentando la longitud de la palabra en un sumador paralelo tpico, el tiempo requerido para completar la operacin aumenta en proporcin al tiempo de propagacin de cada una de las etapas de sumadores. Una de las tcnicas empleadas para acelerar el proceso de suma es el denominado carry anticipado look-ahead. Si Ai y Bi son dgitos binarios operando en cualquiera de las etapas de un sumador se puede definir un carry generado Gi , que se produce si los bits A y B son iguales a 1 (un carry es generado independiente del carry de entrada). De la misma forma se define un carry propagado Pi , para el cual si una de las entradas Ai Bi es 1 mientras la restante es 0 el carry de salida ser identico al carry de entrada. Por lo tanto, las ecuaciones para cada una de ellas estn dada por : Si A y B son dgitos binarios operando en cualquiera de las etapas de un sumador se puede definir un carry generado G1, que se produce si los bits A y B son iguales a 1 (un carry es generado independiente del valor del carry de entrada). G0 se define como un carry de salida 0 cuando las entradas A y B son 0, sin importar el carry de entrada. P es el valor de la propagacin y se define como el valor del carry en el caso de que las entradas A y B sean diferentes. Por lo tanto, en forma general, el carry generado Gi y el carry propagado Pi se pueden definir como :

    , y, Aqu, en el caso de que la XOR sea vlida, va a significar que el carry se propaga o pasa a travs de la etapa. La suma y el carry de salida pueden ser expresados en funcin del carry generado Gi y el carry propagado Pi como :

  • 62

    La figura 3.14 muestra la implementacin de una etapa sumadora con salidas de carry generado y propagado.

    Figura 3.14.- Etapa sumadora look ahead

    3.6.3.- Circuitos multiplicadores : El proceso de multiplicacin binaria puede llevarse a cabo mediante circuitos combinatorios o secuenciales siendo los primeros mucho ms rpidos en respuesta que los segundos. A travs del ejemplo mostrado a continuacin se visualiza el procedimiento de la multiplicacin binaria Ejemplo 3.6.- Realice la multiplicacin de dos nmeros A y B de 4 y 2 bits, respectivamente. A3 A2 A1 A0 x B1 B0 ------------------------------- A3B0 A2B0 A1B0 A0B0 A3B1 A2B1 A1B1 A0B1 ---------------------------------------- S4 S3 S2 S1 S0 La figura 3.15 muestra una implementacin de la multiplicacin de dos nmeros A y B de cuatro y dos bits, respectivamente.

    Cout

    A B Cin

    Cout

    A B Cin

    Cout

    A B Cin

    Cout

    A B Cin

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

    1 1 1 1

  • 63

    Figura 3.15.- Multiplicador de dos nmeros de 4 y 2 bits.

    3.6.4.- Formatos de datos numricos Existen varios esquemas para representaciones numricas que dependen del tipo de nmero que se va a manipular teniendo en cuenta la facilidad de manejo en operaciones, el rango y la precisin de los nmeros. Esto puede influir en la complejidad de un programa y en la velocidad del clculo. Entre ellos estn : enteros sin signo, signo y magnitud, complementos a 1s, complementos a 2s y punto flotante. 3.6.4.1.- Enteros sin signo Es la forma ms sencilla de representar un nmero. La palabra representa directamente la magnitud del nmero; por lo tanto, el rango de nmeros a representar est dado desde 0 hasta 2n siendo n el nmero de bits de la palabra. Por ejemplo, con 8 bits se tienen representaciones de nmeros sin signo de 0 a 255, con 16 bits de 0 a 65535, etc. La desventaja de sta notacin estriba en que no es posible reperesentar nmeros negativos o fraccionarios y el rango est limitado por la longitud de la palabra. 3.6.4.2.- Signo y magnitud En sta representacin el primer bit (MSB) muestra el signo (1 negativo y 0 positivo) y los bis restantes representan la magnitud absoluta. Ahora el rango de nmeros a representar para una palabra de 8 bits es de y para 16 bits de ; asimismo, el nmero cero tiene dos representaciones +0 ( 0 000 0000) y -0 ( 1 000 0000). Esta notacin no es muy utilizada debido a su complejidad para la realizacin de operaciones aritmticas. Aqu la

  • 64

    operacin de suma es sencilla: se suman los bits de magnitud y el signo es el mismo del resultado. Si los signos de los operandos son diferentes es necesario restar el nmero de mayor valor del menor y el signo del resultado es obtenido del mismo sentido del nmero de mayor magnitud. 3.6.4.3.- Complemento a 1s y a 2s Otra forma de representar los nmeros binarios con signo son los tipos de notaciones denominadas complemento a 1s y complemento a 2s. En notaciones con signo el primer bit de la izquierda es tomado como el signo del nmero que le sigue, siendo un 0 si es positivo y 1 si es negativo. En el caso de nmeros positivos las dos notaciones son exactamente ig