Apuntes digital
Embed Size (px)
Transcript of Apuntes digital
- 1. CIRCUITOS Y SISTEMAS DIGITALESDepartamento de Electronica y ComunicacionesUniversidad Pontifica de Salamanca en MadridApuntes de claseABC FDEGJuan Gonzlez GmezVersin 0.3.7 Octubre-2002
2. 2 3. Sobre estos apuntesEstos apuntes se estn realizando para cubrir el temario de la asignatura Circuitos y siste-mas digitales , del Departamento de Electrnica y Comunicaciones, que se imparte en prime-ro de Escuela y Facultad de Informtica en la Universidad Ponticia de Salamanca en Madrid(UPSAM)[2].Se han publicado bajo una licencia libre, de manera que se puedan copiar, distribuir y/omodicar. Y se ha hecho as por decisin del autor. El conocimiento siempre se ha difundidomediante las copias. En la edad media se realizaban copias a mano de los libros en los monas-terios. Posteriormente con la aparicin de la imprenta, ese proceso que tardaba muchos aosse redujo drsticamente, permitiendo adems obtener un nmero muchsimo mayor de copias,con lo que mayor cantidad de gente tena acceso a los conocimientos. Actualmente tenemosprohibido copiar total o parcialmente los libros. Slo hay que mirar las notas que aparecen en lacontraportada. Y esta es una de las paradojas que existen hoy en da en el mundo de la enseanza:El conocimiento lo puede transmitir el profesor oralmente, sin embargo, no es posible realizarcopias del conocimiento que existe en los libros. Y si lo copias ests violando la ley.Poco a poco, estn apareciendo publicaciones y sobre todo software que permiten que serealicen copias. Es ms, se incita a que se hagan estas copias, pues es la nica manera de quese transmita el conocimiento. Y no slo eso, sino que se permite su modicacin, de maneraque cada vez se vayan enriqueciendo ms. Es un enfoque similar al del mundo cientco: eldescubrimiento de cada cientco pasa a ser parte de la comunidad cientica, para que otraspersonas los puedan utilizar para realizar nuevos descubrimientos. Este es un asunto polmico, que visto desde una perspectiva cientca tiene mucho sentido,pero visto desde una perspectiva comercial puede poner los pelos de punta a ms de uno. A m megusta ms el enfoque cientco de la enseanza. Y es ese conocimiento el que tiene que circularlibremente, motivo por el cual estos apuntes tienen una licencia libre. 3 4. 4LicenciaSe concede permiso para copiar, distribuir y/o modicar este documento bajo los trminos dela Licencia de Documentacin Libre de GNU (GNU Free Documentation License)[1] 5. ndice general1. Introduccin13 1.1. Electrnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.2. Tipos de electrnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.2.1. Electrnica Analgica . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.2.2. Electrnica digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.3. Circuitos y sistemas digitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.4. Organizacin de los apuntes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192. Sistemas de representacin21 2.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.3. Algunos sistemas de representacin . . . . . . . . . . . . . . . . . . . . . . . . 242.3.1. Sistema octal (Base 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.3.2. Sistema binario (Base 2) . . . . . . . . . . . . . . . . . . . . . . . . . . 242.3.3. Sistema hexadecimal (Base 16) . . . . . . . . . . . . . . . . . . . . . . 25 2.4. Generalizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.5. Tabla de conversin para los sistemasdecimal- binario- hexadecimal . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.6. Circuitos digitales y el Sistema binario . . . . . . . . . . . . . . . . . . . . . . . 26 2.7. Sistema binario y sistema hexadecimal . . . . . . . . . . . . . . . . . . . . . . . 28 2.8. Bits y electrnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.9. Otros sistemas de representacin . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.10. Terminologa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.11. Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.12. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 6. 6 NDICE GENERAL3. ALGEBRA DE BOOLE333.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.2. Las operaciones del lgrebra de Boole . . . . . . . . . . . . . . . . . . . . . . . 34 3.2.1. La operacin + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.2.2. La operacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2.3. La negacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.3. Las propiedades del lgebra de Boole . . . . . . . . . . . . . . . . . . . . . . . 373.4. Teoremas importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.5. Funciones booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.5.1. Funciones reales y funciones booleanas . . . . . . . . . . . . . . . . . . 40 3.5.2. Funciones booleanas y tablas de verdad . . . . . . . . . . . . . . . . . . 433.6. Formas cannicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.6.1. Primera forma cannica . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.6.2. Segunda forma cannica . . . . . . . . . . . . . . . . . . . . . . . . . . 483.7. Simplicacin de funciones booleanas . . . . . . . . . . . . . . . . . . . . . . . 50 3.7.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.7.2. Mtodo analtico de simplicacin de funciones . . . . . . . . . . . . . . 51 3.7.3. Mtodo de Karnaugh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.8. La operacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.9. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.10. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634. CIRCUITOS COMBINACIONALES 694.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694.2. Puertas lgicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.2.1. Puertas bsicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.2.2. Otras puertas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.2.3. Circuitos integrados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.2.4. Otras tecnologas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764.3. Diseo de circuitos combinacionales . . . . . . . . . . . . . . . . . . . . . . . . 78 4.3.1. El proceso de diseo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.3.2. Implementacin de funciones con cualquier tipo de puertas . . . . . . . . 79 4.3.3. Implementacin de funciones con puertas NAND . . . . . . . . . . . . . 82 4.3.4. Implementacin de funciones con puertas NOR . . . . . . . . . . . . . . 874.4. Aplicacin: Diseo de un controlador para un robot seguidor de lnea . . . . . . 90 7. NDICE GENERAL74.4.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904.4.2. Especicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914.4.3. Diagrama de bloques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934.4.4. Tabla de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944.4.5. Ecuaciones booleanas del circuito . . . . . . . . . . . . . . . . . . . . . 944.4.6. Implementacin del circuito . . . . . . . . . . . . . . . . . . . . . . . . 95 4.5. Anlisis de circuitos combinacionales . . . . . . . . . . . . . . . . . . . . . . . 95 4.6. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 4.7. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005. CIRCUITOS MSI (1): Multiplexores y demultiplexores 103 5.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.2. Multiplexores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045.2.1. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045.2.2. Multiplexores y bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065.2.3. Multiplexores de 1 bit y sus expresiones booleanas . . . . . . . . . . . . 107 5.3. Demultiplexores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1135.3.1. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1135.3.2. Juntando multiplexores y demultiplexores . . . . . . . . . . . . . . . . . 1155.3.3. Demultiplexores y bits . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165.3.4. Demultiplexores de 1 bit y sus expresiones booleanas . . . . . . . . . . . 117 5.4. Multiplexores con entrada de validacin (ENABLE) . . . . . . . . . . . . . . . . 1205.4.1. Entrada de validacin activa a nivel alto . . . . . . . . . . . . . . . . . . 1205.4.2. Entrada de validacin activa a nivel bajo . . . . . . . . . . . . . . . . . . 122 5.5. Extensin de multiplexores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1235.5.1. Aumento del nmero de entradas . . . . . . . . . . . . . . . . . . . . . 1235.5.2. Aumento del nmero de bits por canal . . . . . . . . . . . . . . . . . . . 127 5.6. Implementacin de funciones con MXs . . . . . . . . . . . . . . . . . . . . . . 1305.6.1. Mtodo basado en el Algebra de Boole . . . . . . . . . . . . . . . . . . 1315.6.2. Mtodo basado en la tabla de verdad . . . . . . . . . . . . . . . . . . . . 1325.6.3. Implementacin de funciones con multiplexores con entrada de validacin 135 5.7. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 5.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 8. 8NDICE GENERAL6. Codicadores, decodicadores y comparadores 1396.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1396.2. Codicadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 6.2.1. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 6.2.2. Ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1416.3. Decodicadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 6.3.1. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 6.3.2. Tablas de verdad y Ecuaciones . . . . . . . . . . . . . . . . . . . . . . . 144 6.3.3. Entradas de validacin . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 6.3.4. Tipos de decodicadores segn sus salidas . . . . . . . . . . . . . . . . 1486.4. Aplicaciones de los decodicadores . . . . . . . . . . . . . . . . . . . . . . . . 148 6.4.1. Como Demultiplexor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6.4.2. Implementacin de funciones . . . . . . . . . . . . . . . . . . . . . . . 1496.5. Resumen de implementacin de funciones . . . . . . . . . . . . . . . . . . . . . 1496.6. Comparadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 6.6.1. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 6.6.2. Comparador de dos bits . . . . . . . . . . . . . . . . . . . . . . . . . . 149 6.6.3. Comparador de nmeros de 4 bits . . . . . . . . . . . . . . . . . . . . . 149 6.6.4. Extensin de comparadores . . . . . . . . . . . . . . . . . . . . . . . . 1496.7. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1496.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1497. CIRCUITOS ARITMETICOS 1517.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1527.2. Circuitos sumadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 7.2.1. Sumadores de nmeros de 1 bit . . . . . . . . . . . . . . . . . . . . . . 152 7.2.2. Sumadores de nmeros de ms de 1 bit . . . . . . . . . . . . . . . . . . 1527.3. Circuitos restadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 7.3.1. Restador en ca1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 7.3.2. Restador en ca2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1527.4. Sumador/restador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 7.4.1. En ca1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 7.4.2. En ca2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1527.5. Aplicacin de los sumadores: transcodicadores . . . . . . . . . . . . . . . . . . 1527.6. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 9. NDICE GENERAL9 7.7. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1528. BIESTABLES 1539. REGISTROS15510. CONTADORES15711. AUTOMATAS FINITOS 15912. Solucin a los ejercicios propuestos161 12.1. Sistemas de representacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 12.2. Algebra de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 10. 10 NDICE GENERAL 11. ndice de guras 1.1. Un circuito electrnico muy simple: pila, interruptor y bombilla . . . . . . . . . 14 1.2. Un trozo de una seal acstica . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.3. Conversin de una seal acstina en una seal elctrica . . . . . . . . . . . . . . 16 1.4. Un sistema de tratamiento de voz, con electrnica analgica . . . . . . . . . . . 16 1.5. Sistema digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.6. Un circuito digital genrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.1. Un circuito digital genrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2. Dgitos y pesos del nmero 3281 . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3. Un circuito digital genrico, con entradas y salidas binarias . . . . . . . . . . . . 27 2.4. Un circuito digital con tres bits de entrada y 4 de salida . . . . . . . . . . . . . . 27 2.5. Utilizacin del sistema binario para expresar el estado de 5 bombillas . . . . . . 28 2.6. Cmo introducir dgitos binarios por un bit de la entrada de un circuito digital . . 29 4.1. Un circuito digital, con m bits de entrada y n de salida . . . . . . . . . . . . . . . 69 4.2. Un circuito digital constituido por otros dos circuitos interconectados . . . . . . 70 4.3. Un circuito combinacional de 3 entradas y 2 salidas . . . . . . . . . . . . . . . . 71 4.4. Algunos smbolos empleados en la electrnica analgica . . . . . . . . . . . . . 71 4.5. Dos circuitos integrados, junto a una moneda de 1 euro . . . . . . . . . . . . . . 75 4.6. Esquema del integrado 7402 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.7. Una placa de circuito impreso (PCB) vista desde abajo . . . . . . . . . . . . . . 77 4.8. El microbot Tritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.9. Microbot Tritt sin la tarjeta CT6811 . . . . . . . . . . . . . . . . . . . . . . . . 92 5.1. Simitud entre un multiplexor y un sistema de agua de una granja . . . . . . . . . 104 5.2. Sistema de agua de 4 tuberas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.3. Un multiplexor que selecciona entre 4 canales de datos . . . . . . . . . . . . . . 10511 12. 12 NDICE DE FIGURAS 5.4. Dos multiplexores de 4 canales de entrada . . . . . . . . . . . . . . . . . . . . . 106 5.5. Similitud entre un demultiplexor y un sistema de agua de una granja . . . . . . . 113 5.6. Sistema de agua de 4 mangueras . . . . . . . . . . . . . . . . . . . . . . . . . . 114 5.7. Un demultiplexor que selecciona entre 4 canales de datos . . . . . . . . . . . . . 114 5.8. Una alternativa para comunicar sistemas . . . . . . . . . . . . . . . . . . . . . . 115 5.9. Uso de un multiplexor y demultiplexor para transmisin de datos por un nico cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 5.10. Dos demultiplexores de 4 canales de salida . . . . . . . . . . . . . . . . . . . . 117 6.1. Circuito de control de una cadena de msica, y 4 botones de seleccin de lo quese quiere escuchar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 6.2. El semforo que se quiere controlar . . . . . . . . . . . . . . . . . . . . . . . . 144 6.3. Circuito de control del semforo, usando un decodicador de 2 a 4 . . . . . . . . 144 6.4. Un decodicador de 2 a 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 6.5. Un decodicador de 3 a 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 6.6. Un decodicador de 2 a 4, con entrada de validacin activa a nivel bajo . . . . . 147 6.7. Un decodicador de 2 a 4 con salidas activas a nivel bajo . . . . . . . . . . . . . 148 13. Captulo 1Introduccin Antes de entrar en los detalles de esta asignatura, es interesante tener una perspectiva mayor,para entender el contexto de esta asignatura, en qu fundamentos se basa y cmo se relacionacon el resto de asignaturas.1.1. ElectrnicaEsta asignatura trata sobre Electrnica. La Elecrnica estudia el comportamiento de los elec-trones en diversos medios, y se aplican estos conocimientos para conseguir que los electroneshagan lo que nosotros queramos. As por ejemplo, si construimos un circuito electrnico cons-tituido por una pequea bombilla, una pila y un interruptor (gura 1.1) y lo conectamos, lograre-mos que los electrones circulen por todo el circuito y que al atravesar la bombilla parte de ellosse conviertan en luz1 . Hemos conseguido que los electrones nos obedezcan!! Para dominar a los electrones, es necesario crear circuitos electrnicos, formados por ma-teriales conductores (cables) que unen todos los componentes del circuito, de la misma maneraque hay tuberas de agua que recorren nuestras casas, uniendo diferentes elementos: grifos, llavesde paso, el contador del agua...El objetivo de la electrnica aplicada es construir circuitos electrnicos para que loselectrones se comporten de la manera que a nosotros nos interese. 1 No es el objetivo de estos apuntos el entrar en los detalles de los fenmenos fsicos que subyacen en los cirucitoselectrnicos. Se pretende que el alumno tenga una intuicin de lo que est pasando.13 14. 14 CAPTULO 1. INTRODUCCIN Interruptor abierto Bombilla +Pila Interruptor cerrado Bombilla +Pila ElectronesFigura 1.1: Un circuito electrnico muy simple: pila, interruptor y bombilla1.2. Tipos de electrnica1.2.1. Electrnica Analgica Uno de los grandes retos del hombre es el de manipular, almacenar, recuperar y transportarla informacin que tenemos del mundo en el que vivimos, lo que nos permite ir progresandopoco a poco, cada vez con ms avances tecnolgicos que facilitan nuestra vida y que nos permitenencontrar respuestas a preguntas que antes no se podan responder. Ahora estamos viviendo un momento en el que esa capacidad de manipulacin, almacena-miento, recuperacin y transporte de la informacin est creciendo exponencialmente, lo quenos convierte en lo que los socilogos llaman la Sociedad de la informacin, y que tendr (dehecho ya tiene) grandes implicaciones sociales.Con la aparicin de la electrnica las posibilidades para desarrollar esas capacidades aumen-taron considerablemente. Para comprender los principios de la electrnica analgica, nos centra-remos en un ejemplo concreto: la manipulacin, almacenamiento, recuperacin y transportede una voz humana. Cuando hablamos, nuestras cuerdas vocales vibran de una determinada manera, lo que ori-ginan que las molculas del aire tambin lo hagan, chocando unas con otras y propagando estavibracin. Si no existiesen esas molculas, como en el espacio, el sonido no se podra propagar. 2 2 Aunque en la mayora de las pelculas de ciencia-ccin, cuando una nave destruye a otra en el espacio, se 15. 1.2. TIPOS DE ELECTRNICA 15Posicionmolecula Tiempo Figura 1.2: Un trozo de una seal acsticaSi medimos la vibracin de una de estas molculas, durante un intervalo corto de tiempo, yla pintamos, podra tener una pinta como la que se muestra en la gura 1.2. A esta vibracin lallamaremos seal acstica.Cuando esta seal acstica incide sobre un micrfono, aparece una seal elctrica que tieneuna forma anloga a la de la seal acstica. Las vibraciones de las molculas se han convertidoen variaciones del voltaje, que al nal se traducen en vibraciones de los electrones. Es decir, quecon los micrfonos lo que conseguimos es que los electrones vibren de una manera anloga acmo lo hacen las molculas del aire (ver gura 1.3). Esta nueva seal elctrica que aparece, se denomina seal analgica, puesto que es anlogaa la seal acstica original. De esta manera, con seales elctricas conseguimos imitar las sealesdel mundo real. Y lo que es ms interesante, conseguimos que la informacin que se encuentraen la vibracin de las molculas del aire, pase a los electrones. Cuanto mejor sea el micrfono,ms se parecer la seal elctrica a la acstica, y la informacin se habr copiado con msdelidad.La electrnica analgica trata con este tipo de seales, anlogas a las que hay en el mundoreal, modicando sus caractersticas (ej. amplicndola, atenundola, ltrndola...). Fijmonos en el esquema de la gura 1.4. La persona que habla emite una seal acsticaque es convertida en una seal electrnica analgica por el micrfono. Estas dos seales sonmuy parecidas, pero la que sale del micrfono es ms pequea. Por ello se introduce en uncircuito electrnico, llamado amplicador, que la agranda (la ha manipulado). A continuacinesta seal se puede registrar en una cinta magntica de audio. Lo que se graba es una copiade la seal, pero ahora convertida a seal magntica. En cualquier momento la seal se puedeescucha un sonido de explosin.Fenmeno que es imposible!!!!!, pero que queda muy vistoso :-) 16. 16CAPTULO 1. INTRODUCCINAmbas seales son muy parecidasSealPersonaacusticahablando Seal:) electricaanalogicaMicrofonoCable Figura 1.3: Conversin de una seal acstina en una seal elctricaSeal acusticaSealSeal Sealelectricaelectrica electricaSeal acusticaMicrofono AmplificadorSistema detransmision Cinta de audio recepcion Seal "magnetica" Figura 1.4: Un sistema de tratamiento de voz, con electrnica analgica 17. 1.2. TIPOS DE ELECTRNICA 17volver a recuperar, convirtindose de seal magntica nuevamente a seal elctrica. Una partedel sistema se ha llamado sistema de transmisin-recepcin indicndose con esto que la sealelctrica se puede transportar (Por ejemplo el sistema telefnico). Finalmente se introduce porun altavoz que relaliza la conversin inversa: pasar de una seal elctrica a una acstica que sepuede escuchar. Los problemas de los sitemas analgicos son: 1. La informacin est ligada a la forma de la onda. Si esta se degrada, se pierde informacin 2. Cada tipo de seal analgica necesita de unos circuitos electrnicos particulares (No eslo mismo un sistema electrnico para audio que para vdeo, puesto que las seales tienencaractersticas completamente diferentes).En las seales analgicas, la informacin se encuentra en la forma de la onda1.2.2. Electrnica digital Existe otra manera de modicar, almacenar, recuperar y transportar las seales, solucionan-do los problemas anteriores. Es un enfoque completamente diferente, que se basa en convertirlas seales en nmeros.Existe un teorema matemtico (teorema de muestreo de Nyquist) que nos garantiza que cual-quier seal se puede representar mediante nmeros, y que con estos nmeros se puede re-construir la seal original.De esta manera, una seal digital, es una seal que est descrita por nmeros. Es un conjuntode nmeros. Y la electrnica digital es la que trabaja con seales digitales, o sea, con nmeros.Son los nmeros los que se manipulan, almacenan, recuperan y transportan.Reexionemos un poco. Estamos acostumbrados a escuchar el trmino televisin digital, oradio digital. Qu signica esto? Signica que lo que nos estn enviando son nmeros!!!!!Que la informacin que nos envan est en los propios nmeros y no en la forma que tenga laseal que recibidos. Y qu es un sistema digital?, un sistema que trabaja con nmeros. Y uncircuito digital? Un circuito electrnico que trabaja con nmeros. Y slo con nmeros!!Si nos jamos, con un ordenador, que es un sistema digital, podemos escuchar msica o verpelculas. La informacin que est almacenada en el disco duro son nmeros.En la gura 1.5 se muestra un sistema digital. La seal acstica se convierte en una sealelctrica, y a travs de un conversor analgico-digital se transforma en nmeros, que son pro-cesados por un circuito digital y nalmente convertidos de nuevo en una seal electrnica, a 18. 18 CAPTULO 1. INTRODUCCINSeal acusticaSeal digital(NUMEROS)SealSeal electricaelectricaSealacustica transformar5083...Almacenar 9287...A/D D/A Recuperar TransportarMicrofono ConversorConversor analogico/digitaldigital/analogico AltavozCIRCUITODIGITALFigura 1.5: Sistema digitaltravs de un conversor digital-analgico, que al atravesar el altavoz se convierte en una sealacstica.El utilizar circuitos y sistemas que trabajen slo con nmeros tiene una ventaja muy impor-tante: se pueden realizar manipulaciones con independencia de la seal que se est introduciendo:datos, voz, vdeo... Un ejemplo muy claro es internet. Internet es una red digital, especializadaen la transmisin de nmeros. Y esos nmeros pueden ser datos, canciones, vdeos, programas,etc... La red no sabe qu tipo de seal transporta, slo ve nmeros.La electrnica digital trabaja con nmeros. La informacin est en los nmeros y noen la forma de seal. Cualquier seal siempre se puede convertir a nmeros y recuperarseposteriormente.1.3. Circuitos y sistemas digitalesYa podemos entender de lo que trata esta asignatura. En ella estudiaremos y disearemoscircuitos digitales, que manipulan nmeros. Existen unos nmeros en la entrada y nuestrocircuitos generar otros nmeros de salida (gura 1.6). Algunos nmeros se considerarn comodatos y otros se usarn para el control del propio circuito. No nos preocuparemos de dnde vienenestos nmeros, pero ya sabemos que o bien vendrn de otro sistema digital, o bien de una sealanalgica que se ha convertido a nmeros (se ha digitalizado). Un circuito digital realiza manipulaciones sobre los nmeros de entrada y genera unosnmeros de salida. 19. 1.4. ORGANIZACIN DE LOS APUNTES 19Numeros deNumeros de entrada salidaCircuito5,8,10...22,4,05... DitialFigura 1.6: Un circuito digital genrico1.4. Organizacin de los apuntesEn la introduccin hemos visto la importancia que tienen los nmeros en los sistemas digi-tales. En el captulo 2 veremos las diferentes formas de representar un nmero y en concreto noscentraremos en el sistema binario. Para poder disear circuitos digitales, que manipulen nme-ros en binario, primero habr que manejar las matemticas que hay detrs: el algebra de boole,que se ver en el captulo 3. Describiremos un tipo de circuitos, los circuitos combinacionales,mediante funciones booleanas y en el captulo 4 veremos cmo se pueden implementar mediantepuertas lgicas. En el captulo 5 describiremos otros circuitos combinacionales ms complejos,constituidos a partir de puertas lgicas, pero que se pueden considerar como componentes elec-trnicos: multiplexores, demultiplexores, codicadores, decodicadores, comparadores... y en elcaptulo 7 cmo es posible realizar operaciones aritmticas. A partir del captulo 8 se empiezana ver cirucitos secuenciales, que se caracterizan porque pueden recordar o almacenar nme-ros. Los biestables nos permiten almacenar 1 bit de informacin y agrupndolos en registros(captulo 9) almacenamos ms informacin. Finalmente estudiaremos los contadores (captulo10) y los autnomas nitos (captulo 11). 20. 20 CAPTULO 1. INTRODUCCIN 21. Captulo 2Sistemas de representacin2.1. Introduccin Hemos visto en el captulo 1 cmo un circuito digital trabaja con nmeros y slo connmeros. El esquema general de estos circuitos se puede ver en la gura 2.1. Antes de entrar enla comprensin y diseo de estos circuitos, hay que estudiar cmo se pueden representar esosnmeros, de manera que el circuito los entienda. Veremos que existen muchsimas formas derepresentar el mismo nmero (de hecho, existen innitas formas), pero slo unas pocas son lasque nos interesarn para los circuitos digitales.2.2. ConceptosEl concepto de nmero todos lo tenemos, pero un mismo nmero se puede representarde muchas maneras. Por ejemplo, el nmero 10, lo representamos mediante dos dgitos, el 1y el 0. Si utilizsemos numeracin romana, este mismo nmero lo representaramos slo conun nico dgito X. Pero est claro que ambas representaciones, 10 y X hacen referencia almismo nmero diez.Numeros deNumeros de entrada salidaCircuito5,8,10...22,4,05... DitialFigura 2.1: Un circuito digital genrico21 22. 22 CAPTULO 2. SISTEMAS DE REPRESENTACIN Nosotros estamos acostumbrados a representar los nmeros utilizando diez dgitos: 0, 1,2, 3, 4, 5, 6, 7, 8, 9. Por eso nuestro sistema de representacin se denomina Sistemadecimal o sistema en base diez. Analicemos con un poco ms de detalle el sistema decimal, que es el que manejamos habi-tualmente. Vamos a representar el nmero tres mil doscientos ochenta y uno:3281 Observamos lo siguiente: Est constituido por cuatro dgitos: 3,2,8 y 1. El orden en el que estn colocados es muy importante y si se modica, se est represen- tando otro nmero. Cuanto ms a la izquierda est un dgito, ms importante es.Este ltimo punto es muy intuitivo. Imaginemos que el nmero 3281 representa el sueldo men-sual de un ingeniero1 . Si le preguntamos qu dgito es el que le gustara modicar para tenerun sueldo mayor, no dudara en sealar al 3. Ojal me subieran en sueldo a 4281 euros!!pensara el ingeniero. Sin embargo, se echara a reir si su jefe le dijese: te subimos el sueldo a3285 euros. El dgito 3 es ms importante que todos los que tiene a su derecha. Tiene un peso mayorque el resto de dgitos. De hecho, este dgito 3 est representando al nmero tres mil. El dgito2 por estar en tercera posicin comenzado desde la derecha, representa el nmero doscientos,el 8 al ochenta y el 1 al uno. Podemos descomponer el nmero de la siguiente manera: 3281 = 3000 + 200 + 80 + 1 = = 3 1000 + 2 100 + 8 10 + 1 = 3+2 +8 +1 Observamos que cada dgito est multiplicando una pontencia de 10. Cuanto ms a la izquier-da se site el dgito, mayor ser la pontencia de diez por la que se multiplica. En la gura 2.2 se muestra el nmero 3281 descompuesto en dgitos y pesos, y se indica cules el dgito de mayor peso y cul es el de menor. 1 Obviamente esto no se corresponde con la realidad :-) 23. 2.2. CONCEPTOS23 Digito deDigito demayor peso3281 menor peso 3 2 103.10 + 2.10 + 8.10+ 1.10 DIGITOSPESOSFigura 2.2: Dgitos y pesos del nmero 3281Este sistema de representacin tambin se llama sistema en base diez porque los pesos delos dgitos son potencias de 10: El dgito de ms de la derecha tiene un peso de , los siguientes tienen pesos de , , , ...Nosotros representamos los nmeros en el sistema decimal, que consta de diez dgitosdiferentes, asignndoles un peso que es una potencia de diez, y que ser mayor cuanto ms ala izquierda se encuentre el dgito.Qu nos impide que utilicemos unos sistemas de representacin en los que los pesos delos dgitos, o incluso los dgitos sean diferentes de los del sistema decimal? Nada. Por ejemplo,podemos emplear un sistema de representacin octal (Base 8), que utiliza slo ocho dgitos(0,1,2...7) para representar cualquier nmero y los pesos de los diferentes dgitos sern potenciasde 8. En este sistema, si escribimos los dgitos 352 no se corresponden con el nmero trescientoscincuenta y dos . Para calcular cul es el nmero que representa hay que multiplicar cada dgitopor su correspondiente peso, obteniendo el nmero equivalente en el sistema decimal.352 = 3 + 5 + 2 = 3 64 + 5 8 + 2 = 248 El nmero 352 en representacin octal es equivalente al nmero 248 del sistema decimal.En el sistema octal, los dgitos tienen pesos que son potencias de 8, en lugar de potencias de 10como en el sistema decimal. Para evitar confusiones cuando se trabaja con sistemas de repre-sentacin diferentes, se emplea la siguiente notacin: 24. 24 CAPTULO 2. SISTEMAS DE REPRESENTACIN El subndice 8 indica que el nmero est representado en un sistema octal y con el subndice10 se indica que lo est en un sistema decimal.2.3. Algunos sistemas de representacin2.3.1. Sistema octal (Base 8) Ya lo hemos visto en el apartado de introduccin. Utiliza ocho dgitos: 0,1,2,3,4,5,6 y 7 y lospesos son potencias de 8. No lo utilizaremos en esta asignatura.2.3.2. Sistema binario (Base 2)Se podran utilizar slo dos dgitos para representar cualquier numro? Si, se denominasistema binario. Este sistema de representacin slo utiliza los dgitos 0 y 1 para representarcualquier nmero. Fijmonos en lo interesante que resulta esto, slo con dos dgitos podemosrepresentar cualquiera de los innitos nmeros!!! En el sistema binario los pesos de estos dgitos son pontencias de 2. Veamos un ejemplo delnmero binario =1 +0 +1 +0 +0 +1 = + + = 41 El nmero binario se corresponde con el nmero 41 en decimal.El sistema binario tiene mucha importancia y lo utilizaremos constantemente en estaasignatura. Fijmonos en lo que signica esta forma de representacin. Utilizando slo dosdgitos, es posible representar cualquiera de los innitos nmeros. En la tecnologa actual dis-ponemos de un elemento, llamado transistor, que se puede encontrar en dos estados diferentes,abierto o cerrado2 , a los que le asociamos los dgitos 0 y 1. Todos los circuitos intregrados o chipsse basan en estos transistores y trabajan internamente en binario. Todas las operaciones se rea-lizan utilizando este sistema de representacin, por eso es muy importante que lo conozcamos,para entender cmo funcionan los microprocesadores y los chips por dentro. El sistema binaro utiliza slo dos dgitos diferentes para representar cualquier nmero.El peso de los dgitos es una potencia de 2. 2El nombre tcnico para estos estados es Corte y Saturacin, pero es ms intuitivo pensar en un transistor comoen un pequeo interruptor que puede estar abierto o cerrado. 25. 2.4. GENERALIZACIN252.3.3. Sistema hexadecimal (Base 16)Y sera posible utilizar ms de 10 dgitos para representar los nmeros?. Tambin es posi-ble. Ese es el caso del sistema hexadecimal, en el que se emplean 16 dgitos: 0, 1, 2, 3, 4, 5, 6,7, 8, 9, A, B, C, D, E y F, donde las letras representan los nmeros 10, 11, 12, 13, 14 y 15 respec-tivamente. Los pesos de los dgitos son pontencias de 16. Por ejemplo, el nmero hexadecimalFE2A se puede descomponer de la siguiente manera: = El sistema hexadecimal es muy curioso. Permite escribir nmeros como los siguientes: CA-CA, DE, BACA :-). Se deja como ejercicio el obtener sus correspondientes nmeros en el sistemadecimal.Este sistema, como veremos ms adelante, se emplea para escribir nmeros binarios de unamanera ms compacta, dado que el paso de hexadecimal a binario y vice-versa es inmediato.2.4. GeneralizacinDado un nmero de m dgitos ( # !, y usando un sistema en base b, se puede expresar enel sistema decimal utilizando la siguiente frmula: !$% 1 32 1 )0 (Esta frmula no es ms que la generalizacin de los ejemplos expuestos en el apartado ante-rior. Si estamos trabajando con un sistema en base 7 (b=7) y el nmero que queremos convertiral sistema decimal tiene 4 dgitos (m=4), la frmula de conversin sera:54 54 64 54 En esta asignatura nos centraremos en el sistema binario, que ser el que tendremos quecomprender para utilizarlo en el diseo de circuitos digitales. 26. 26CAPTULO 2. SISTEMAS DE REPRESENTACIN2.5. Tabla de conversin para los sistemasdecimal- binario- hexadecimal La tabla que se muestra a continuacin representa las equivalencias entre diferentes nmerosexpresados en los sistemas decimal, binario y hexadecimal, que son los que ms usaremos.DECIMALBINARIO HEXADECIMAL0 000001 000112 001023 001134 010045 010156 011067 011178 100089 10019 10 1010A 11 1011B 12 1100C 13 1101D 14 1110E 15 1111FEjercicios: Hacer el ejercicio 1 de este captulo.2.6. Circuitos digitales y el Sistema binarioAhora que ya tenemos un poco ms claro el concepto de nmero y las diferentes formas quetenemos de representarlo, podemos retomar el esquema de un circuito digital (Figura 2.1) paraprecisarlo un poco ms. 27. 2.6. CIRCUITOS DIGITALES Y EL SISTEMA BINARIO27Numeros deNumeros de entrada, en binario salida, en binario E0S0 E1 Circuito S 1 E2S2 . E3 Ditial S3 . .. .. Em Sn Figura 2.3: Un circuito digital genrico, con entradas y salidas binarias 3 Bits de entrada4 bits de salida E0 Circuito S 0 E1S1 E2 Ditial S 2 S3 Figura 2.4: Un circuito digital con tres bits de entrada y 4 de salidaCon la tecnologa que hay actualmente, los circuitos digitales manipulan nmeros que estnrepresentados en binario. As podemos decir que un circuito digital actual tiene como entradasy salidas nmeros en binario. Es decir, nmeros que vienen expresados con los dgitos 0 y1. En la gura 2.3 se ha dibujado un circuito digital genrico, en el que sus entradas y salidasse expresan en binario. Cada una de las entradas y salida representa un dgito binario. Pero cuales el peso de este dgito? Eso nos lo indican los subndices de las letras E y S. As, la entrada se corresponde con el dgito de menor peso, la entrada con los dgitos de peso , y as sucesivamente hasta la entrada n que es la de mayor peso. Lo mismo es aplicable a la salida. En los circuitos digitales, los nmeros que se procesan, estn expresados en binario,tanto en la entrada como en la salida. Un dgito binario, que puede ser 0 1, recibe el nombre de BIT, del trmino inglesBInary digiT (dgito binario). Utilizaremos los bits para indicar el tamao de las entradas y saliasde nuestros circuitos. As por ejemplo podemos tener un circuito digital con 3 bits de entrada y4 de salida. Este circuito se muestra en la gura 2.4.Los circuitos digitales slo saben trabajar con nmeros en binario, sin embargo a los huma-nos nos es ms cmodo trabajar en decimal. Trabajar con nmero binarios puede parecer pocointuitivo. Vamos a ver cmo en determinadas ocasiones resulta muy intuitivo el trabajar connmeros binarios. Imaginemos que en una habitacin hay 5 bombillas situadas en la misma lnea, y que cada 28. 28 CAPTULO 2. SISTEMAS DE REPRESENTACINBombillaBombillaencendida apagada010 1 1Figura 2.5: Utilizacin del sistema binario para expresar el estado de 5 bombillasuna de ellas puede estar encendida o apagada. Cmo podramos representar el estado de estas5 bombillas mediante nmeros? Una manera muy intuitiva sera utilizar el sistema binario, enel que utilizaramos el dgito 1 para indicar que la bombilla est encendida y el dgito 0 paraindicar que est apagada. As el nmero 01011 nos indica que la primera bombilla est apagada,la segunda encendida, la tercera apagada y las dos ltimas encendidas, como se muestra en lagura 2.5. Esta forma de representar el estado de las bombillas es bastante intuitivo. Este es unejemplo en el que se puede ver que pensar en binario resulta ms fcil que hacerlo directamenteen decimal.2.7. Sistema binario y sistema hexadecimal El sistema hexadecimal se utiliza para representar nmeros binarios de una forma mscompacta. Cada dgito hexadecimal codica 4 bits, de manera que un nmero hexadecimal de 4bits permite representar un nmero binario de 16 bits. Veamos un ejemplo:1011000111101101 = B1ED Podemos ver cmo es mucho ms cmodo utilizar el nmero hexadecimal que el binaro.Pero, cmo se pasa de binario a hexadecimal o vice-versa? El proceso es muy sencillo. Lonico que hay que conocer es la tabla del apartado 2.5. El nmero en binario hay que dividirloen grupos de 4 bits empezando desde la derecha. La conversin del nmero binario anterior sehara de la siguiente manera: 29. 2.8. BITS Y ELECTRNICA 295 voltios AB 0 voltios Circuito ES Ditial1 Bit de entrada1 Bit de salida Figura 2.6: Cmo introducir dgitos binarios por un bit de la entrada de un circuito digital1011 0001 1110 1101B1EDEjercicios: Hacer los ejercicios 2 y 3 de este captulo.2.8. Bits y electrnica Todava nos queda una cosa por resolver. En la electrnica trabajamos con electrones, for-zndolos a que hagan lo que nosotros queremos. En el caso de los circuitos digitales, lo quehacemos es operar con nmeros. Cmo conseguimos esto? Cmo introducimos los nmerosen los circuitos digitales? La solucin a esto es asignar un voltaje a cada uno de los dos estados de un bit. Lo normal,conocido como lgica TTL, es asignar el valor de 5 voltios al dgito 1 y 0 voltios al dgito 0.Esta asignacin de valores depende de la tecnologa empleada.En la gura 2.6 se muestra un circuito digital que tiene un bit de entrada. Si queremos in-troducir un dgito 1 ponemos el interrupcin en la posicin A, de manera que por la entrada Ellegan 5 voltios. Si queremos introducir un dgito 0 ponemos el interruptor en la posicin B,por lo que llegan cero voltios. 30. 30CAPTULO 2. SISTEMAS DE REPRESENTACIN En los circuitos digitales, se usan dos tensiones diferentes, una para representar el dgito1 y otra para representar el dgito 0. En la electrnica tradicional se usan 5 voltios para eldigito 1 y 0 voltios para el digito 02.9. Otros sistemas de representacinPara representar los nmeros hemos visto que los circuitos digitales utilizan el sistema bi-nario. Y hemos estado utilizando el sistema binario natural, en el que los bits tienen de pesopotencias de 2, que es lo ms habitual. Sin embargo existen otros sistemas de representacin que son binarios en el sentido de queslo usan los dos dgitos 0 y 1, sin embargo tienen pesos diferentes. Algunos de estos sistemas,tambin conocidos como cdigos son los siguientes: 1. Cdigo BCD: Decimal Codicado en Binario. Es una manera de representar nmerosdecimales en binario. A cada dgito decimal se le asignan 4 bits, correspondientes a su nmero binario natural. As por ejemplo para representar nmero decimal 21 en BCD, utilizaremos en total 8 bits, 4 para uno de los dos dgitos:21 = 0010 0001 Los primeros 4 bits representan al dgito 2 y los 4 siguientes al dgito 1. 2. Cdigo AIKEN: Similar al BCD, pero con los pesos cambiados. Cada dgito decimal serepresenta mediante 4 bits, siendo los pesos de estos bits: 2, 4, 2 y 1. 3. Cdigo GRAY: Son una familia de cdigos que se caracterizan porque el paso de unnmero al siguiente implica que slo se modica un bit.2.10. TerminologaBIT Dgito binaro. Un bit puede tomar los valores 0 1. Es la abreviatura de las palabras inglesasde Binary digiT.Byte Conjunto de 8 bits. El nmero ms alto que se puede representar es el 11111111, que en decimal es 255. 31. 2.11. EJERCICIOS RESUELTOS312.11. Ejercicios resueltos 1. Descomponer el nmero en sus dgitos y pesos.Solucin: = Dgitos: 6 y 3 con pesos 10 y 1. 2. Hacer lo mismo que en ejercicio 1, pero con el nmero 10358.Solucin: Dgitos 1,0,3,5 y 8 con pesos 10000, 1000, 100, 10 y 1 respectivamente. 3. Pasar los siguientes nmeros al sistema decimal: a) Solucin: = + 16 + 4 + 2 +1 = 87 b) Solucin:BABA=B = 4096 + 10 256 + 11 16 + 10 = 45056 + 2560 + 176 + 10 =47802 c)Solucin: =2 8 + 9 = 16 + 9 = 25 4. Pasar de hexadecimal a binario: a) FFFFSolucin:FFFF = F - F - F - F = 1111-1111-1111-1111 = 1111111111111111 32. 32CAPTULO 2. SISTEMAS DE REPRESENTACIN b) FA00Solucin:FA00 = F-A-0-0 = 1111-1010-0000-0000 = 1111101000000000 c) 321CSolucin:321C = 3-2-1-C = 0011-0010-0001-1100 = 110010000111002.12. Ejercicios 1. Pasar los siguientes nmeros a decimal 4 a) b) c) d) 2. Pasar de binario a hexadecimal a) 0101101011111011 b) 10010001110000101 c) 1111000011110000 d) 0101010110101010 3. Pasar de hexadecimal a binario a) FFFF b) 01AC c) 55AA d) 3210 33. Captulo 3ALGEBRA DE BOOLE3.1. Introduccin Cuando trabajamos en ingeniera, utilizamos ecuaciones y modelos matemticos que descri-bren lo que estamos diseando o analizando. As por ejemplo, la ecuacin nos indica cul es la velocidad mxima de transmisin por un canal que tiene un ancho debanda W y por el que se permiten n estados posibles de la seal transmitida, y ser usada porun Ingeniero de Telecomunicacin para el diseo de canales o sistemas de comunicacin. Esaecuacin describe una relacin entre ciertas variables, que son objeto de estudio del Ingeniero. A lo mejor no entendemos el signicado de esta ecuacin. No sabemos lo que signica anchode banda o velocidad mxima de transmisin, pero s entendemos las operaciones que hay en ella: hay productos y logaritmos. Sin saber nada, y partiendo de los datos iniciales:, n=4, seramos capaces de calcular el valor de : Slo hay que introducir los datos en una calculadora y ya est. De la misma manera, si un fsico nos dice que la posicin de cierta partcula viene determi-nada por la ecuacin:# (#! % $ 33 34. 34 CAPTULO 3. ALGEBRA DE BOOLE y nos da los siguientes datos: A=5, t=0 y , sabemos calcular el valor de x, que ser: $ # # y por las propiedades de los Nmeros Reales, que son los que estamos manejando, sabemosque algo por cero es cero y algo ms cero es algo: $! # # ! #! Y por qu hemos sabido hacer eso? Porque conocemos las operaciones que el fsico hautilizado y adems sabemos algunas propiedades de ellas.En estas dos ecuaciones de ejemplo, los nmeros y las variables son Reales. El conjuntode los Nmeros Reales lo conocemos muy bien, as como todas las operaciones denidas en l.Estamos acostumbrados a trabajar con ellos desde pequeos, por eso este tipo de ecuaciones nosparecen intuitivas y sencillas, aunque no comprendamos lo que signican las variables usadas. Hemos dicho que los circuitos digitales trabajan con nmeros, y que estos nmeros se expre-san en binario. Veremos ms adelante cmo con un conjunto de ecuaciones podemos describirlo que hace un circuito, que transforma los nmeros de la entrada y los saca por la salida. Sinembargo, puesto que estos nmeros vienen expresados en binario, las variables y nmeros uti-lizados NO SON REALES.Para describir un circuito digital utilizaremos ecuaciones Para describir un circuito digital utilizaremos ecuaciones matemticas. Sin embargo, estasecuaciones tienen variables y nmeros que NO SON REALES, por lo que NO podemos aplicarlas mismas propiedades y operaciones que conocemos. Hay que utilizar nuevas operaciones ynuevas propiedades, denidas en el ALGEBRA DE BOOLE.Por tanto, vamos a trabajar con unas ecuaciones a las que NO estamos acostumbrados. Sonmuy sencillas, pero al principio pueden resultar poco intuitivas. En este captulo aprenderemos atrabajar con ellas.3.2. Las operaciones del lgrebra de BooleEn el lgebra de Boole hay dos operaciones, denotadas con los smbolos + y pero que notienen nada que ver con las operaciones que todos conocemos de suma y producto!!. No 35. 3.2. LAS OPERACIONES DEL LGREBRA DE BOOLE35hay que confundirlas!!!!. El + y el del Algebra de Boole se aplican a bits, es decir, a nmeros que slo pueden ser el 0 el 1.3.2.1. La operacin + Esta operacin se dene de la siguiente manera:0+0=00+1=11+0=11+1=1Las tres primeras operaciones nos resultan obvias, son iguales que la suma que conocemos, sin embargo la expresin nos puede resultar chocante. Pero no me haban dicho toda la vida que 1+1=2??, nos podemos estar preguntando. S, pero hay que recordar que aquestamos utilizando otra operacin que NO ES LA SUMA, la denotamos con el mismo smbolo+, pero no es una suma normal!! Hay que cambiar el chip!! Ahora estamos conAlgebra de Boole!! Pasado el pnico inicial, si nos jamos en esta nueva operacin, notamos lo siguiente: Elresultado siempre es igual a 1 cuando alguno de los bits sumandos es igual a 1. O lo quees lo mismo, El resultado de esta suma slo da 0 si los dos bits que estamos sumando soniguales a cero. En caso contrario valdr 1. Y para qu nos sirve esta operacin tan extraa? Veamos un ejemplo. Imaginemos que hayuna sala grande a la que se puede acceder a travs de dos puertas. En el techo hay una nicalmpara y existen dos interruptores de luz, uno al lado de cada puerta de entrada. Como eslgico, la luz se enciende cuando algunos de los dos interruptores (o los dos) se activan. Estolo podemos expresar mediante una ecuacin booleana. Para denotar el estado de uno de losinterruptores utilizaremos la variable booleana A, que puede valor 0 (Interruptor apagado) 1 (interruptor activado). Para el otro interruptor usaremos la variable B. Y para el estado de laluz, 0 (apagada) y 1 encendida, usaremos la variable F. El estado en el que se encuentra la luz, en funcin de cmo estn los interruptores vienedado por la ecuacin booleana: 0 que indica que F=1 (Luz encendida) si alguno de los interruptores est a 1 (activado). 36. 36 CAPTULO 3. ALGEBRA DE BOOLE Ya lo veremos ms adelante, pero podemos ir adelantando unas propiedades muy interesan-tes. Si A es una variable boolena, se cumple: A+A=A 1+A=1 0+A=A3.2.2. La operacin Esta operacin se dene as: 0 0=0 0 1=0 1 0=0 1 1=1 En este caso, la operacin es ms intutitiva, puesto que es igual que el producto de nmerosReales. Si nos jamos, vemos que el resultado slo vale 1 cuando los dos bits estn a 1, ovisto de otra manera, el resultado es 0 cuando alguno de los dos bits es 0. Vamos a ver un ejemplo. Imaginemos una caja de seguridad de un banco que slo se abrecuando se han introducido dos llaves diferentes, una la tiene el director y la otra el jefe de se-guridad. Si slo se introduce una de ellas, la caja no se abrir. Modelaremos el problema as.Utilizaremos la variable A para referirnos a una de las llaves (0 no introducida, 1 introdu-cida) y la variable B para la otra llave. Con la variable F expresamos el estado de la caja deseguridad (0 cerrada y 1 abierta). El estado de la caja lo podemos expresar con la ecuacin: 0 que indica que la caja se abrir (F=1) slo si A=1 (una llave introducida) y B=1 (la otra llaveintroducida). En cualquier otro caso, F=0, y por tanto la caja no se abrir. Podemos ir adelantando algunas propiedades de esta operacin: A A=A A 0=0 A 1=1 37. 3.3. LAS PROPIEDADES DEL LGEBRA DE BOOLE373.2.3. La negacin La operacin de negacin nos permite obtener el estado complementario del bit o variablebooleana al que se lo aplicamos. Se dene de la siguiente manera: Es decir, que si se lo aplicamos a 0 obtenemos 1 y si se lo aplicamos al 1 obtenemos0. Esta operacin nos permite cambiar el estado de una variable booleana. Si A es una variableboolena, tiene el estado contrario.3.3. Las propiedades del lgebra de Boole Las operaciones del lgebra de Boole las podemos denir utilizando tablas de verdad:Operacin +A B A+B0 0 00 1 11 0 11 1 1Operacin A B AB0 0 00 1 01 0 01 1 1 Las propiedades del Algebra de Boole son las siguientes: 1. Las operaciones + y son CONMUTATIVAS 38. 38 CAPTULO 3. ALGEBRA DE BOOLE 2. Elemento Neutro A+0=A A 1=A 3. Distributiva # # # # 4. Elemento inverso A =0 Operacin de negacin denida por: Ejercicios: Para practicar e ir cogiendo soltura con el Algebra de Boole se recomienda hacer el ejercicio1 de este captulo.3.4. Teoremas importantes Derivados de las propiedades fundamentales, existen una serie de Teoremas muy interesantese importantes que usaremos a lo largo de todo el curso. Algunos los utilizaremos en la teora yotros para los problemas. Asociatividad # # # 0 # Idempotencia: 39. 3.4. TEOREMAS IMPORTANTES39Ley de Absorcin 0 #Este teorema es muy importante puesto que nos permite realizar simplicaciones en lasexpresiones.Leyes de DeMorgan ! ! ! ! Este teorema es tambin muy importante y lo usaremos constantemente. Vamos a haceralgunos ejemplos para aprender a utilizarlo: Ejemplo 1: Ejemplo 2: # # Ejemplo 3: Ejemplo 4: # # Teorema de Shannon:# # ! Este teorema es una generalizacin de las leyes de DeMorgan. Lo que nos dice es quesi tenemos cualquier expresin booleana negada, es igual a la misma expresin en la quetodas las variables estn negadas y en la que se sustituyan las operaciones + por . y vice-versa.Veamos algunos ejemplos: Ejemplo 5: # # En este este ejemplo se podran haber aplicado las leyes de DeMorgan sucesivas veces,como hemos hecho en ejemplos anteriores, sin embargo podemos aplicar el Teorema deShannon. Ejemplo 6: =( # Ejemplo 7: 40. 40 CAPTULO 3. ALGEBRA DE BOOLE Teorema de expansin:# ! # ! # ! # ! # ! # ! Este teorema es ms terico y no tiene aplicacin directa en los problemas.Ejercicios: Hacer el ejercicio 2.3.5. Funciones booleanas3.5.1. Funciones reales y funciones booleanas Hasta ahora hemos visto en qu operaciones se basa el Algebra de Boole y algunas de suspropiedades. Para aprender a trabajar con este nuevo tiepo de expresiones booleanas es necesariopracticar, por eso se recomienda que se hagan los ejercicios propuestos.Utilizando expresiones booleanas, vamos a denir Funciones booleanas, que son exacta-mente iguales a las funciones matemticas a las que estamos habituados pero con la particula-ridad de que las variables son booleanas y que los valores devueltos por la funcin tambinson booleanos, es decir, una funcin booleana slo puede tomar los valores 0 1. Como hemos hecho antes, vamos a ver un ejemplo utilizando una funcin matemtica de lasque todos conocemos. Por ejemplo esta: # Se trata de una funcin Real que tiene una variable Real (x). Para cada valor de x, otenemosel valor de la funcin. As por ejemplo podemos calcular los siguiente: # # # # 41. 3.5. FUNCIONES BOOLEANAS41Como es una funcin Real, obtenemos como valores de la funcin Nmeros Reales. Tambin podemos denir funciones reales de 2 ms variables, como por ejemplo: # . Funcin de 2 variables# . Funcin de 3 variablesComo estamos acostumbrados a trabajar con este tipo de funciones, nos resultan sencillas. Ahoravamos a denir funciones booleanas. Para ello hay que tener en mente que trabajaremos convariables booleanas y que por tanto usaremos las operaciones + y del Algebra de Boole, y quecomo ya sabemos, nada tienen que ver con las operaciones suma y producto a las que estamoshabituados. Por ejemplo, sea la siguiente funcin booleana de una variable:# El valor devuelto por la funcin es el negado del que se le pasa por la variable. Como lavariable A es booleana, slo puede tomar los valores 0 y 1. Los que la funcin F toma son:F(0)= =1F(1)= Vamos a denir una funcin un poco ms compleja, usando dos variables booleanas, A y B: # # Cuando vale F(0,0)? slo hay que sustituir en la funcin los valores de A y B por 0,obtenindose: F(0,0)=(0+0) Calcularemos el valor de F para el resto de valores de entrada de A y B: ## ## $ # Se deja como ejercicio para practicar (La solucin es 0). 42. 42CAPTULO 3. ALGEBRA DE BOOLEFijndonos en esta funcin tan sencilla, podemos darnos cuenta de varias cosas: 1. Puesto que las variables de entrada A y B, slo pueden tomar los valores 0 y 1, hay 4casos distintos: # a) A=0, B=0 # b) A=0, B=1 # c) A=1, B=0 # d) A=1, B=1 2. Antes de calcular los valores que toma la funcin, segn lo que valgan A y B, se puedenaplicar algunas propiedades para obtener una funcin ms simplicada (Como veremosen el apartado 3.7): # # 0 {Aplicando la propiedad distributiva}= # Es ms sencillo trabajar con esta funcin simplicada: Las funciones booleanas pueden ser de muchas ms variables, como en los siguientes ejemplos:# . Funcin booleana de 3 variables # . Funcin booleana de 4 variables# . Funcin booleana de 5 variablesPor cuestiones de comodidad, muchas veces no escribimos entre parntesis las variables de lafuncin, as por ejemplo podemos denir una funcin de 3 variables de la siguiente manera: Ejercicios: Hacer el ejercicio 3 43. 3.5. FUNCIONES BOOLEANAS 433.5.2. Funciones booleanas y tablas de verdad Existen dos maneras de representar una funcin booleana. Una ya la conocemos, y es utili-zado expresiones booleanas. As por ejemplo se puede denir la funcin booleana siguiente: 0 y hemos visto cmo podemos obtener todos los valores de esta funcin. Existe otra manera de especicar una funcin booleana y es utilizando las tablas deverdad. En ellas lo que estamos representando es el valor que debe tomar la funcin cuandolas variables de entrada toman todos los valores posibles. As por ejemplo yo puedo denir unafuncin G de la siguiente manera:A BG00 001 110 011 1 Cunto vale G si A=0 y B=1?. Miramos la tabla y vemos que G vale 1. Esta forma de denirfunciones booleanas es muy sencilla. El nmero de las de la tabla de verdad depende del nmerode variables que usemos. Cuanto mayor nmero de variables, mayor cantidad de las tendr la tabla de verdad. La regla que se cumple es la siguiente: Si la funcin tienen n variables, la tabla de verdad tendr las. Veamos algunos ejemplos:Si una funcin tiene 2 variables, su tabla de verdad tendr 4 las Si la funcin tiene 3 variables, la tabla tendr 8 las Si la funcin tiene 4 variables, la tabla tendr 16 las.....En la prctica no haremos tablas de verdad de ms de 4 variables. Para eso estn los ordenadores:-). Nosotros aprenderemos a denirlas y manejarlas. Todava hay algo que necesitamos conocer. Qu relacin hay entre una funcin denidamediante expresiones booleanas y una funcin denida mediante una tabla de verdad? Es 44. 44 CAPTULO 3. ALGEBRA DE BOOLEdecir, dada una tabla de verdad, cmo podemos obtener la expresin booleana de la funcin? Odada una funcin mediante una expresin, cmo obtenemos su tabla de verdad?.Obtencin de una tabla de verdad a partir de una expresin Esto es bastante sencillo. Lo primero que hay que hacer es identicar el nmero de variablesde la funcin, para conocer el tamao de la tabla de verdad. A continuacin escribimos nmerosen binario en la parte de las variables. Finalmente vamos la por la obteniedo el valor de lafuncin, utilizando la expresin.Lo mejor es ver un ejemplo. Imaginemos que nos han dado la siguiente funcin, denida porla expresin: 1. La funcin tiene 2 variables, luego la tabla de verdad tendr las 2. Dibujamos una tabla de verdad con 4 las, y ponemos en la parte de la izquierda el nmerode la en binario natural, comenzando por la la 0. A B F 0 0 0 1 1 0 1 1 3. Aplicando la expresin, vamos calculando el valor de F. La primera la se correspondecon F(0,0), la seguna con F(0,1), la tercera con F(1,0) y la ltima con F(1,1):# # # # 4. Ya podemos rellenar la tabla de verdad: 45. 3.5. FUNCIONES BOOLEANAS45A B F0 0 00 1 11 0 01 1 1Veamos otro ejemplo, ahora con una funcin de 3 variables: 1. Como la funcin tiene 3 variables, la tabla de verdad tendr8 las. 2. Dibujamos la tabla, poniendo en binario natural el nmero de la, comenzando por 0:A B C G0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1 3. Calculamos el valor de la funcin para cada una de las las. El resultado se muestra a continuacin, dejndose al lector su comprobacin:A B C G0 0 0 00 0 1 10 1 0 00 1 1 11 0 0 11 0 1 11 1 0 01 1 1 1 46. 46CAPTULO 3. ALGEBRA DE BOOLEEjercicios: Hacer el ejercicio 4Obtencin de una expresin a partir de una tabla de verdad Cuando diseemos circuitos combinacionales, ser muy normal que tengamos una tabla deverdad que haya que convertir a expresiones booleanas. El proceso es sencillo, sin embargoocurre que dada una tabla de verdad se pueden obtener multitud de expresiones diferentes,todas ellas equivalentes. Nuestra misin consistir en obtener la expresin ms simplicadaposible. Esto lo iremos viendo en los siguientes apartados.3.6. Formas cannicasA partir de una tabla de verdad, podemos obtener mltiples expresiones para la mismafuncin. Todas esas expresiones son equivalentes y podemos obtener unas expresiones de otrasaplicando las propiedades del lgebra de Boole.Existen dos tipos de expresiones que se obtienen directamente de la tabla de verdad, de formainmediata. Se denominan formas cannicas. Se caracterizan porque en todos los trminos deestas expresiones aparecen todas las variables.3.6.1. Primera forma cannica Una funcin que est en la primera forma cannica se caracteriza porque est formadapor sumas de productos. Y recordemos que por ser una forma cannica, en todos sus trminosse ecuentran todas sus variables.Un ejemplo de una funcin de 3 variables, expresada en la primera forma cannica es lasiguiente: 0 Vemos que est constituida por la suma de tres trminos y en cada uno de los trminos estntodas las variables.La obtencin de la primera forma cannica, a partir de una tabla de verdad es inmediato. Elproceso se denomina desarrollo de la tabla de verdad por unos. Tomamos la tabla de verdad yslo nos jamos en las las en las que la funcin vale 1, olvidndonos del resto. Por cada una de 47. 3.6. FORMAS CANNICAS47estas las tendremos un sumando, constituido por el producto de todas las variables, aplicandola siguiente regla:Si una variable est a 0, en la la escogida, usaremos la variable negada, y si est a 1usaremos la variable sin negar.Ejemplo: Obtener la primera forma cannica, a partir de la siguiente tabla de verdad:AB C F00 0 000 1 101 0 001 1 110 0 010 1 011 0 011 1 1Nos jamos en las las en las que F=1. Vemos que slo hay tres las, por tanto la funcin Fse podr expresar como suma de tres trminos. Tomemos la primera la en la que F=1. En ellavemos que A=0, B=0 y C=1, por tanto el primer trmino ser . Ahora nos jamos en la siguiente la en la que F=1: A=0, B=1 y C=1, por tanto el segundo trmino ser:.Y por ltimo nos jamos en la ltima la en la que F=1, en la que A=1, B=1 y C=1, por lo que eltrmino ser: . La funcin F ser la suma de estos tres trminos: Esta funcin est constituida por la suma de tres trminos y en cada uno de ellos es el productode las tres variables, bien negadas o no. Vamos en algunos casos que esta expresin representa la misma funcin que la de la tabla deverdad: 1. Para A=0, B=1 y C=0, vemos en la tabla de verdad que F=0. Vamos a comprobarlo: 2. Para A=0, B=1 y C=1, en la tabla de verdad F=1. Lo comprobamos: 48. 48CAPTULO 3. ALGEBRA DE BOOLESe deja como ejercicio la comprobacin para todos los dems casos.Ejercicios: Hacer los ejercicios 5 y 6.Notacin: A cada uno de los sumandos de una expresin en la primera forma cannica, le correspondeuna la de la tabla de verdad, es decir, un nmero en decimal. As en la funcin anterior: el trmino representa la la de la tabla de verdad en la que A=0, B=0 y C=1, que sise pone en decimal es el nmero 1. De esta manera, esa funcin la podemos escribir de la siguiente manera: #4 3.6.2. Segunda forma cannica Un funcin en la segunda forma cannica se caracteriza porque est formada por unproducto de sumas. Y en todos sus trminos deben aparecer todas sus variables, bien negadas ono. Por ejemplo: # # est constituida por dos trminos que van multiplicados, y cada uno de ellos est formadopor sumas. La obtencin de la segunda forma cannica, a partir de una tabla de verdad es inmediato. Elproceso se denomina desarrollo de la tabla de verdad por ceros. Tomamos la tabla de verdad yslo nos jamos en las las en las que la funcin vale 0, olvidndonos del resto. Por cada unade estas las tendremos un trmino, constituido por la suma de todas las variables, aplicando lasiguiente regla: 49. 3.6. FORMAS CANNICAS49 Si una variable est a 1, en la la escogida, usaremos la variable negada, y si est a 0usaremos la variable sin negar. Es decir, que esta regla es justo la contraria que cuando estbamos trabajando con la primeraforma cannica.Ejemplo: Obtener la segunda forma cannica, a partir de la siguiente tabla de verdad:A B C F0 0 0 10 0 1 10 1 0 00 1 1 11 0 0 01 0 1 11 1 0 01 1 1 1Nos jamos en las las en las que F=0. En este ejemplo hay tres. Cada la representa untrmino, que estar multiplicando al resto. Tomamos la primera la en la que F=0 y vemos queA=0, B=1 y C=0. Aplicando la regla, el trmino que obtenemos es: . Para la siguiente la en la que F=0, A=1, B=0 y C=0: y nalmente, de la la en la que A=1, B=1 yC=0 obtenemos: . La funcin F desarrollada por la segunda forma cannica, queda: # # # Se deja como ejercicio al lector el que compruebe que efectivamente esta expresin repre-senta la misma funcin que la de la tabla de verdad.Ejercicios: Hacer los ejercicios 7 y 8. 50. 50CAPTULO 3. ALGEBRA DE BOOLENotacin:Para la segunda forma cannica se usa otra notacin. La funcin F anterior est consituidapor tres trminos multiplicados. Si nos jamos en el primero: , se corresponde con la la de la tabla de verdad en la que A=0, B=1, C=0, que si lo ponemos en decimal es el nmero2. De esta manera podemos usar la siguiente notacin para representar a F: # 3.7. Simplicacin de funciones booleanas3.7.1. IntroduccinEn las matemticas con nmeros Reales, estamos muy acostumbrados a simplicar. De hechoes lo que nos han enseado desde pequeos. Si una determinada expresin la podemos simpli-car, por qu no hacerlo?, as seguro que nos ahorramos clculos. Por ejemplo, si vemos lasiguiente ecuacin: lo primero que hacemos es simplicarla, aplicando primero que, quedando: que todava puede ser simplicada ms, dividiendo por 2: Una vez simplicada es mucho ms fcil trabajar. Cuando estamos diseando circuitos digitales, utilizaremos funciones booleanas para des-cribirlos. Y antes de implementarlos, es decir, antes de convertir las ecuaciones a componenteselectrnicos (puertas lgicas) tenemos que simplicar al mximo. Una de las misiones de losIngenieros es disear, y otra muy importante es optimizar. No basta con realizar un circuito,sino que hay que hacerlo con el menor nmero posible de componentes electrnicos. Y estoes lo que conseguimos si trabajamos con funciones simplicadas. 51. 3.7. SIMPLIFICACIN DE FUNCIONES BOOLEANAS51 Las funciones booleanas se tienen que simplicar al mximo, para disear los circuitoscon el menor nmero de componentes electrnicos. Y este ser uno de los grandes caballos de batalla de esta asignatura: la simplicacin de lasfunciones. Esta simplicacin la podemos realizar de dos maneras diferentes: 1. Utilizando las propiedades y Teoremas del Algebra de Boole. Se denomina mtodoanaltico de simplicacin de funciones. Hay que manejar muy bien estas propiedadespara poder eliminar la mayor cantidad de trminos y variables. 2. Utilizando el mtodo de Karnaugh. Es un mtodo grco que si lo aplicamos bien, nosgarantiza que obtendremos la funcin ms simplicada posible, a partir de una tabla deverdad.Normalmente las formas cannicas no son las expresiones ms simplicadas.3.7.2. Mtodo analtico de simplicacin de funciones Desgraciadamente no exite tal mtido :-(. Hay que basarse en la experiencia y en el conoci-miento de las propiedades y teoremas del Algebra de Boole. Lo mejor es ver un ejemplo:Ejemplo: Simplicar la siguiente funcin: Vamos a intentar aplicar la propiedad distributiva, lo que normalmente llamamos sacar factorcomn. Operando con los trminos 1 y 3: # Operando con los trminos 2 y 4: # La funcin que nos queda es: 52. 52 CAPTULO 3. ALGEBRA DE BOOLE Tanto la funcin inicial, como la que hemos obtenido son funciones equivalentes. Tienen lamisma tabla de verdad, sin embargo, la segunda est mucho ms simplicada: slo tiene dossumandos y cada sumando tiene slo dos variables.Ejemplo: Simplicar la siguiente funcin: # Si nos jamos, vemos que podemos reordenar la funcin de manera que quede: # y puesto que y cualquier cosa multiplicada por 0 es 0, al nal nos queda: 3.7.3. Mtodo de Karnaugh En este apartado veremos un mtodo para obtener la funcin ms simplicada a partir deuna tabla de verdad. Vamos a ir poco a poco, viendo los fundamentos de este mtodo. Supongamos que tenemosuna funcin F(A,B,C) de tres variables, cuya tabla de verdad es: 53. 3.7. SIMPLIFICACIN DE FUNCIONES BOOLEANAS53 A F 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 Si la desarrollamos por la primera forma cannica obtenemos: Veremos como aplicando el mtodo de Karnaugh podemos simplicar esta funcin.Vamos aorganizar esta misma tabla de la siguiente manera: BC A00 011110 0 0 0 1 1 1 1 1 1 1 Observamos lo siguiente:En total hay 8 casillas, cada una correspondiente a una la de la tabla de verdadEn cada casilla est colocado el valor de la funcin F, correspondiente a esa entrada. En latabla de verdad hay dos las en las que F=0 y 6 las en las que F=1. En el nuevo diagramahay dos casillas con 0 y 6 con 1.Hay dos las, en al primera la estn todos los valores de F correspondientes a A=0, y enla segunda correspondientes a A=1.Hay 4 columnas, y el nmero que est en la parte superior de cada una de ellas nos indicalos valores de las variables B y C en esa columna.Dada una casilla cualquiera, mirando el nmero situado en la misma la, a la izquierdadel todo nos informa del valor de la variable A y los dos valores superiores, en la misma 54. 54 CAPTULO 3. ALGEBRA DE BOOLE columna, nos dan los valores de B y C. As por ejemplo, si tomamos como referencia la casilla que est en la esquina inferior derecha, se corresponde con el valor que toma F cuando A=1, B=1 y C=0. Entre dos casillas adyacentes cualesquiera, slo vara una variable de entrada, quedando las otras dos con los mismos valores. Por ejemplo, si estamos en la casilla inferior derecha, en la que A=1, B=1 y C=0. Si vamos a la casilla que est a su izquierda obtenemos un valor de las variables de: A=1, B=1, C=1. Si lo comparamos los valores de las variables correspondientes a la casilla anterior, vemos que slo ha cambiado una de las tres variables, la C. Lo mismo ocurre si nos desplazamos a cualquier otra casilla adyacente.Ahora vamos a ver una propiedad mgica de esta tabla. Si obtenemos la primera forma canni-ca, obtenemos una funcin con 6 trminos. Vamos a jarnos slo en los trminos que obtenemossi desarrollamos slo dos casillas adyacentes, como por ejemplos las marcadas en gris en lagura:BCA 0001 11100 0 01 11 1 11 1 Los valores de las variables en estas casillas son: A=1, B=1, C=1 y A=1, B=1, C=0. Siobtenemos los trminos de la primera forma cannica y los sumamos: # Se nos han simplicado!! Es decir, por el hecho de agrupar los trminos obtenidos de estasdos casillas y sumarlos, se han simplicado. Y esto es debido a la propiedad antes comentada deque entre dos casillas adyacentes slo vara una de las variables, de manera que podemos sacarfactor comn. Estos dos trminos son los sumandos 5 y 6 de la primera forma cannica obtenidaanteriormente, que al sumarlos y aplicar aglunas propiedades se han simplicado.Si nos jamos en estas dos casillas adyacentes, la variable C, que es la nica que vara de unaa otra, ha desaparecido en la suma. De esta manera podemos armar lo siguiente: Si tomamos dos casillas adyacentes cuyo valor es 1 y desarrollamos por la primera formacannica, desaparecer una de las variables. Slo permanecen las variables que no cambian 55. 3.7. SIMPLIFICACIN DE FUNCIONES BOOLEANAS55de una casilla a otra. De esta manera, vamos a ver qu pasa si tomamos los siguientes grupos: BC A 00011110 0 0 0 1 1Grupo 1 1 1 1 1 1 Grupo 2Grupo 3 y sumamos los trminos de estos grupos:Grupo 1: #Grupo 2: 0 #Grupo 3: El que tenamos antes: Por tanto, la funcin F tambin la podemos expresar como suma de estos grupos: Y est ms simplicada que la forma cannica!! Pero...Se puede simplicar ms? Si!.Inicialmente la funcin F tena 6 sumandos, puesto que tena 6 unos. Al hacer 3 grupos, ahoratiene 3 sumandos. Podemos reducir el nmero de grupos? Si, vamos a ver qu pasa si tomamoslos siguientes grupos: BC A00 01 11 10 0 0 011 Grupo 1 1 1 1 1 1 Grupo 2 Ahora slo hay 2 grupos. El nuevo grupo 2 est constituido por 4 casillas en las que F=1.La expresin de este grupo se obtiene sumando las expresiones de estas 4 casillas. Las nuevasexpresiones de los grupos quedaran: 56. 56 CAPTULO 3. ALGEBRA DE BOOLE Grupo 1: Igual que antes: Grupo 2: 0 #La nueva funcin F que obtenemos es: Que est ms simplicada que la anterior!! Pero... Es la ms simplicada? No, todavapodemos simplicarla ms. Por qu no podemos tomar 2 grupos de 4 casillas adyacentes?.Tomemos los grupos siguientes:BCA00 01 11 100 0 011 Grupo 11 1 1 1 1 Grupo 2 Las nuevas expresiones de los grupos son: Grupo 1: # Grupo 2: Igual que antes:Por tanto, la nueva funcin F simplicada es: 0 Esta funcin est simplicada al mximo!!!Criterio de mxima simplicacin:Para obtener una funcin que no se puede simplicar ms hay que tomar el menor nmerode grupos con el mayor nmero de 1 en cada grupo. Hay que tener en cuenta que los grupos cd unos que se tomen slo pueden tener un tamao de1, 2, 4, 8, 16,... (es decir, slo potencias de dos). Esa es la razn por la que en el ejemplo anteriorlos grupos que se han tomado son de tamao 4 (y no se han tomado de tamao 3).Fijmonos en todas las funciones que hemos obtenido anteriormente: 57. 3.7. SIMPLIFICACIN DE FUNCIONES BOOLEANAS 57 (CANONICA) (3 grupos de 2 1s por grupo) (1 grupo de 4 1s y 1 grupo de 2 1s) (2 grupos de 4 1s)Todas son funciones booleanas equivalentes!! (Porque tienen la misma tabla de verdad). Peroes la funcin la que usamos!! Smos Ingenieros y queremos optimizar al mximo!!!Ejemplo Veamos con un ejemplo cmo podemos aplicar directamente el criterio para obtener una fun-cin simplicada. Dada la siguiente tabla de verdad, obtener la expresin de F ms simplicadaposible:A B C F0 0 0 00 0 1 10 1 0 10 1 1 11 0 0 01 0 1 01 1 0 01 1 1 1 Colocamos la tabla de verdad como un diagrama de Karnaugh y hacer tres grupos de dosunos: BC A000111 100 0 1 111 0 0 10La funcin F la obtenemos sumando las expresiones de los tres grupos, siendo cada uno deellos el producto de las dos variables booleanas que permanecen sin cambios dentro de cadagrupo: 58. 58CAPTULO 3. ALGEBRA DE BOOLE Como hemos aplicado correctamente el criterio de mxima simplicacin, tenemos la cer-teza absoluta de que esta es la expresin ms simplicada posible para la funcin F. A la hora de formar los grupos hay que tener en cuenta que las casillas situadas ms a laderecha de la tabla son adyacentes a las que estn ms a la izquierda. Veamos un ejemplo:Ejemplo: Simplicar la siguiente funcin, utilizando el mtodo de Karnaugh: A B CF 0 0 01 0 0 10 0 1 00 0 1 11 1 0 01 1 0 10 1 1 01 1 1 10 Lo representamos en un diagrama de Karnaugh y tomamos el siguiente grupo:BCA0001 11 1001 00111 001 con el que obtenemos la siguiente funcin simplicada: 59. 3.7. SIMPLIFICACIN DE FUNCIONES BOOLEANAS 59Funciones de 4 variables Y qu ocurre si tenemos una funcin de 4 variables? La idea es la misma pero tendremosuna tabla ms grande. El criterio de mxima simplicacin es el mismo: hacer el menor nmeroposible de grupos con el mximo nmero de 1s. Veamos un ejemplo:Ejemplo: Dada la siguiente tabla de verdad, obtener la expresin de F ms simplicada posible: A B C D F 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0Lo primero que hacemos es pasarlo a un diagrama de Karnaugh, de la siguiente manera(cuidado de no confundirse!!): 60. 60 CAPTULO 3. ALGEBRA DE BOOLECDAB 000111 10 001 0 01 011 1 11 111 0 01 101 0 01Vemos que ahora en la izquierda de la tabla estn los valores de las variables A y B y en laparte superior los valores de C y D. Lo siguiente es agrupar los 1s. Vamos a hacer primero lossiguientes grupos:CDAB 000111 10 001 0 01 011 1 11 111 0 01 101 0 01 La expresin que obtenemos es: Sin embargo, es esta la funcin ms simplicada? O lo que es lo mismo, podemos hacermenos grupos de 1s. La respuesta es s, porque no olvidemos que las casillas de la derecha sonadyacentes a las de la izquierda de la tabla, por lo que podemos hacer slo dos grupos: 61. 3.8. LA OPERACIN 61 CD AB 00 01111000 1 0 0 101 1 1 1 111 1 0 0 110 1 0 0 1 Un grupo es de 8 unos y el otro de 4. Obtenemos la siguiente funcin: Esta s es la ms simplicada.Ejercicios: Hacer el ejercicio 9.3.8. La operacin Hay un operacin que en electrnica digital se utiliza mucho, llamada XOR y que se denotapor el smbolo. Esta operacin la podemos denir mediante una tabla de verdad: A B 0 0 0 0 1 1 1 0 1 1 1 0Fijndonos en esta tabla podemos ver lo que hace: esta operacin devuelve 0 cuando los dosbits sobre los que operan son iguales, y 1 cuando con distintos. Tanto esta operacin como sunegada, , las utilizaremos mucho, por ello vamos a ver cmo las podemos denir a partirde las operaciones + y , y ver algunas de sus propiedades. Partiremos de la tabla de verdad, en la que adems representaremos la operacin negada: 62. 62 CAPTULO 3. ALGEBRA DE BOOLEA B 0 0 010 1 101 0 101 1 01 Vamos a obtener las dos formas cannicas de ambas funciones. Estas expresiones las utiliza-remos bastante: # # # # Y la siguiente propiedad tambin es muy interesante: Ejercicios: Hacer el ejercicio 10.3.9. ResumenEn este captulo se han presentado las herramientas matemticas que nos servirn paraanalizar y disear circuitos digitales. Trabajaremos con dgitos binarios o bits que pueden estaren dos estados 0 1, sobre los que se denen las operaciones + y , del Algebra de Boole, y que no hay confundir con las operaciones de suma y producto a las que estamos acostumbrados. Hemos vista una serie de propiedades y teoremas que nos permiten trabajar con expresionesbooleanas y con los que es necesario practicar, haciendo los ejercicios indicados. Tambin hemos visto el concepto de funcin boolena y cmo podemos representar cualquierfuncin de este tipo mediante tablas de verdad o mediante expresiones booleanas. Tambinhemos visto cmo es posible obtener una tabla de verdad a partir de una expresin booleana ycmo obtener una expresin booleana a partir de la tabla de verdad.Dada una tabla de verdad, existen multitud de expresiones booleanas, todas ellas equivalen-tes, que se pueden obtener. Sin embargo, hemos visto cmo es inmediato obtener la primera 63. 3.10. EJERCICIOS 63y segunda forma cannica. Sin embargo, las funciones as obtenidas no tienen porqu ser lasms simplicadas posibles. Para simplicar una funcin podemos utilizar las propiedades delAlgebra de Boole, o tambin podemos utilizar el mtodo de Karnaugh, que si lo aplicamoscorrectamente, conseguiremos obtener la funcin ms simplicada posible.Finalmente hemos visto una nueva operacin, , que se dene a partir de las operaciones +y , y que es conveniente que conozcamos puesto que la usaremos bastante. Para repasar con todos estos conceptos se recomienda hacer todos los ejercicios y los proble-mas de los apartados 3.103.10. EjerciciosEjercicio 1:Realizar las siguientes operaciones: 1. 1 + 0 = 2. 1 + 1 = 3. 1 0 = 4. 1 1 = 5. A+0 = 6. A+1= 7. A 1= 8. A 0= 9. A+A=10. A.A=11. A+ = 12. A =13. A+AB = 64. 64 CAPTULO 3. ALGEBRA DE BOOLE14. A(A+B) =15. A+AB+B =Ejercicio 2:Aplicar las leyes de Morgan en los siguientes casos: 1. # = 2. = 3. # =Ejercicio 3:Obtener el valor de las siguientes funciones booleanas, en todos los casos. 1. 2. 3. F= Ejercicio 4:Dadas las siguientes funciones booleanas, obtener su correspondiente tabla de verdad 1. 2. 3. 4. 65. 3.10. EJERCICIOS 65Ejercicio 5:Desarrollar las siguientes tablas de verdad por la primera forma cannica: 1. Tabla 1: A B F 0 0 0 0 1 1 1 0 0 1 1 1 2. Tabla 2: A B C F 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0Ejercicio 6:Dadas las siguientes funciones, indicar si se encuentra expresadas en la primera forma can-nica, y si es as, obtener la tabla de verdad 1. 2. 3. 4. Ejercicio 7:Desarrollar las siguientes tablas de verdad por la segunda forma cannica: 66. 66 CAPTULO 3. ALGEBRA DE BOOLE 1. Tabla 1: A B F 0 0 0 0 1 1 1 0 0 1 1 1 2. Tabla 2: A B C F 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0Ejercicio 8:Dadas las siguientes funciones, indicar si se encuentra expresadas en la primera forma can-nica o en la segunda. En caso de que as sea, obtener la tabla de verdad. 1. # # 2. 3.# # # 4. 5. ## Ejercicio 9:Obtener las expresiones ms simplicadas a partir de las tablas de verdad: 67. 3.10. EJERCICIOS67Tabla 1:Tabla 2: A B C D F F 000 0 10 0 0 0 1 000 1 00 0 0 1 0 001 0 10 0 1 0 0 001 1 00 0 1 1 0 010 0 00 1 0 0 1 010 1 00 1 0 1 0 011 0 00 1 1 0 1 011 1 00 1 1 1 1 100 0 11 0 0 0 0 100 1 11 0 0 1 0 101 0 11 0 1 0 0 101 1 11 0 1 1 0 110 0 01 1 0 0 0 110 1 01 1 0 1 1 111 0 01 1 1 0 0 111 1 01 1 1 1 0Ejercicio 10:Operar con las siguientes expresiones obteniendo la mayor cantidad posible de operaciones 1. = 2. = 3. # # = 4. Ejercicio 11:Dejar las siguientes expresiones en forma de sumas de productos: 1. (x + y + z)( +z) = 68. 68CAPTULO 3. ALGEBRA DE BOOLE 2. # # 3. Ejercicio 12:Simplicar la funcin 0 de las siguientes maneras: 1. Obteniendo la tabla de verdad y aplicando Karnaugh 2. Aplicando las propiedades del Algebra de Boole 69. Captulo 4CIRCUITOS COMBINACIONALES4.1. Introduccin Despus de introducir y trabajar con el Algebra de Boole, vamos a volver a los circuitosdigitales. Recordemos que son circuitos electrnicos que trabajan con nmeros, y que con latecnologa con la que estn realizados, estos nmeros estn representados en binario. En lagura 4.1 se muestra el esquema general de un circuito digital, que tiene m bits de entrada y nbits de salida. Si tomamos un circuito genrico y miramos en su interior, podemos ver que est constituidopor otros circuitos ms simples, interconecados entre s. En la gura 4.2 hay un ejemplo de uncircuito con 4 bits de entrada y 3 de salida, constituido por otros dos circuitos ms simples einterconectados entre ellos. Estos subcircuitos se pueden clasicar en dos tipos:Circuitos combinacionalesCircuitos secuencialesNumeros deNumeros de entrada, en binario salida, en binario E0S0 E1 Circuito S 1 E2S2 . E3 Ditial S3. . . . . Em SnFigura 4.1: Un circuito digital, con m bits de entrada y n de salida 69 70. 70 CAPTULO 4. CIRCUITOS COMBINACIONALESE3 S2E2 Circuito 1S1E1E0 Circuito 2S0Figura 4.2: Un circuito digital constituido por otros dos circuitos interconectadosAs, podemos decir que todo circuito digital genrico tendr una parte combinacional y otraparte secuencial. En este captulo nos centraremos en los circuitos combinacionales, que notienen parte secuencial. Estos circuitos se caracterizan porque NO almacenan informacin.Las salidas estn relacionadas con las entradas a travs de una funcin booleana, como lasvistas en el captulo 3. Como veremos ms adelante, los circuitos secuenciales son capaces derecordar nmeros que han recibido anteriormente. En un circuito combinacional, las salidas dependen directamente del valor de las entradas, y no pueden por tanto almacenar ningn tipo de informacin, slo realizan transformaciones en las entradas. Estos circuitos quedan caracterizados mediante funciones booleanas.Cada bit de salida de un circuito combinacional, se obtiene mediante una funcin booleana apli-cado a las variables de entrada. As, si un circuito tiene n salidas, necesitaremos n funcionesbooleanas para caracterizarlo.En la gura 4.3 vemos un circuito combinacional que tiene 3 entradas: A,B y C, y dos salidasF, G, que son dos funciones booleanas que dependen de las variables de entrada: F(A,B,C) yG(A,B,C). Por ejemplo, estas funciones podran tener una pinta as: En este captulo estudiaremos las puertas lgicas, que son los elementos que usamos para 71. 4.2. PUERTAS LGICAS71 A Circuito F(A,B,C) B CombinacionalG(A,B,C) CFigura 4.3: Un circuito combinacional de 3 entradas y 2 salidas TransistorResistencia Condensador DiodoBobinaPulsadorFigura 4.4: Algunos smbolos empleados en la electrnica analgicaconstruir estos circuitos, y cmo las funciones booleanas las podemos realizar mediante puertaslgicas, lo que se denomina implementacin de funciones booleanas.4.2. Puertas lgicasEn todas las ingenieras se utilizan planos que describen los diseos. En ellos aparecen dibu-jos, letras y smbolos. Mediante estos planos o esquemas, el Ingeniero representa el diseo quetiene en la cabeza y que quiere construir.En electrnica analgica se utilizan distintos smbolos para representar los diferentes compo-nentes: Resistencias, condensadores, diodos, transistores... Algunos de estos smbolos se puedenver en la gura 4.4.En electrnica digital se utilizan otros smbolos, los de las puertas lgicas, para representarlas manipulaciones con los bits.4.2.1. Puertas bsicasPuerta ANDAA.BB 72. 72 CAPTULO 4. CIRCUITOS COMBINACIONALES Esta puerta implementa la operacin del Algebra de Boole. La que se muestra en esta gura tiene dos entradas, sin embargo puede tener ms. Lo mismo ocurre con el resto de puertas lgicas que veremos a continuacin. Puerta OR A A+B B Implementa la operacin + del Algebra de Boole. Puede tener tambin mas de dos entradas. Puerta NOT (Inversor) A A Tiene slo una entrada y realiza la operacin de negacin lgica. Esta puerta se conoce normalmente con el nombre de inversor.Slo con estos tres tipos de puertas se pueden implementar cualquier funcin booleana.Ejemplo: Analizar el siguiente circuito y obtener la expresin booleana de la salida: A B F C El circuito est constituido por dos puertas, una AND de tres entradas y un inversor. Ala salida de la puerta AND se tiene el producto de las tres variables de entrada y alatravesar el inversor se obtiene la expresin nal de F, que es: Ejemplo: Obtener la expresin booleana de salida del siguiente circuito: 73. 4.2. PUERTAS LGICAS73AB F C El circuito est constituido por dos puertas AND, dos inversores y una puerta OR. La expre-sin de F es: 4.2.2. Otras puertasCon las puertas bsicas podemos implementar cualquier funcin booleana. Sin embargo exis-ten otras puertas que se utilizan mucho en electrnica digital.Puerta NANDAA.BBEl nombre viene de la abreviacin de NOT-AND, y la operacin que realiza es la negacinde un producto. Aplicando las leyes de DeMorgan vemos que la expresin a su salida es: Esta puerta tambin puede tener ms de dos entradas.Las puertas NAND tienen una caracterstica muy importante y es que slo con ellasse puede implementar cualquier funcin booleana. Slo hay que aplicar las propiedadesdel Algebra de Boole a cualquier expresin booleana para dejarla de forma que slo existaneste tipo de operaciones, como veremos en el apartado 4.3.3Puerta NORAA+BB 74. 74 CAPTULO 4. CIRCUITOS COMBINACIONALES Es una puerta OR negada (NOT-OR). Aplicando las leyes de DeMorgan: Lo mismo que con las puertas NAND, con las puertas NOR se puede implementar cual- quier funcin booleana (ver apartado 4.3.4) Puerta XOR A A + B B Es la puerta que implementa la operacin, denida en el apartado 3.8 Ejemplo: Analizar el siguiente circuito y obtener la expresin booleana de la salida: A B F A la salida de la puerta NAND tenemos la expresin: , que se introduce en una de lasentradas de la puerta NOR, y por la otra B. El resultado es: y aplicando las leyes de DeMorgan nos queda: Es decir, que es un circuito nulo. Con independencia de lo que se introduzca por las entradas,a su salida siempre se obtendr 0.Ejercicios Hacer el ejercicio 1. 75. 4.2. PUERTAS LGICAS 75Figura 4.5: Dos circuitos integrados, junto a una moneda de 1 euro4.2.3. Circuitos integrados Y si ahora queremos construir un circuito? Cmo lo implementamos fsicamente? Laspuertas lgicas se encuentra encapsuladas dentro de circuitos integrados o tambin conocidoscomo chips. En la gura 4.5 se muestra una foto de dos de ellos, junto a una moneda de 1euro para apreciar su tamao. Ms coloquialmente, entre los alumnos, reciben el nombre decucarachas, porque son negros y tienen patas. Hay una familia de circuitos integrados, 74XX, que est estandarizada de manera que se hadenido la informacin que entra o sale por cada una de las patas. As pueden existir multitud defabricantes, pero todos respectando el mismo estndar. En la gura 4.6 se muestra un esquemadel integrado 7402, que contiene en su interior 4 puertas NOR de dos entradas.Por las patas denominadas VCC y GND se introduce la alimentacin del chip, que normal-mente ser de 5v, aunque esto depende de la tecnologa empleada. Por el resto de patas entra osale informacin binaria codicada segn la tecnologa empleda. Por ejemplo se puede asociar5v al dgito 1 y 0v al dgito 0.A la hora de fabricar un diseo, estos chips se insertan en una placa y se interconectan laspatas con el resto de chips o partes de nuestro circuito. La interconexin se realiza por medio decables. Cuando se realiza una placa profesional, las interconexiones entre los chips son pistasde cobre en la supercie de la placa. Estas placas reciben el nombre de placas de circuito 76. 76 CAPTULO 4. CIRCUITOS COMBINACIONALES 141312 1110 9 8 VCC GND 1 2 34 567Figura 4.6: Esquema del integrado 7402impreso, o por sus siglas en ingls PCB (printed circuito Board). En la gura 4.7 se muestra laparte inferior de una de estas placas. Por los agujeros se introducen las patas de los componentesy luego se sueldan. Los distintos agujeros estn interconectados por pistas de cobre. Ademsexiste una capa de un barniz verde para que las pistas no estn al aire y se puedan producircortocircuitos.4.2.4. Otras tecnologas La electrnica ha avanzado muchsimo y en los chips en los que antes slo se podan integraruna pocas puertas lgicas, ahora se pueden integrar muchsimas ms. De esta manera, los chipstradicionalmente se han clasicado segn el nmero de puertas que pueden integrar. As tenemosla siguiente clasicacin de chips:SSI (Small Scale Integration). Chips con menos de 12 puertasMSI (Medium Scale Integration). Entre 12