Está en la página 1de 68

2

Sobre estos apuntes


Estos apuntes se estn realizando para cubrir el temario de la asignatura Circuitos y sistemas digitales , del Departamento de Electrnica y Comunicaciones, que se imparte en primero de Escuela y Facultad de Informtica en la Universidad Pontificia de Salamanca en Madrid
(UPSAM)[2].
Se han publicado bajo una licencia libre, de manera que se puedan copiar, distribuir y/o
modificar. Y se ha hecho as por decisin del autor. El conocimiento siempre se ha difundido
mediante las copias. En la edad media se realizaban copias a mano de los libros en los monasterios. Posteriormente con la aparicin de la imprenta, ese proceso que tardaba muchos aos
se redujo drsticamente, permitiendo adems obtener un nmero muchsimo mayor de copias,
con lo que mayor cantidad de gente tena acceso a los conocimientos. Actualmente tenemos
prohibido copiar total o parcialmente los libros. Slo hay que mirar las notas que aparecen en la
contraportada. 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 realizar
copias 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 se
realicen copias. Es ms, se incita a que se hagan estas copias, pues es la nica manera de que
se transmita el conocimiento. Y no slo eso, sino que se permite su modificacin, de manera
que cada vez se vayan enriqueciendo ms. Es un enfoque similar al del mundo cientfico: el
descubrimiento de cada cientfico pasa a ser parte de la comunidad cientifica, para que otras
personas los puedan utilizar para realizar nuevos descubrimientos.
Este es un asunto polmico, que visto desde una perspectiva cientfica tiene mucho sentido,
pero visto desde una perspectiva comercial puede poner los pelos de punta a ms de uno. A m me
gusta ms el enfoque cientfico de la enseanza. Y es ese conocimiento el que tiene que circular
libremente, motivo por el cual estos apuntes tienen una licencia libre.
3

Licencia
Se concede permiso para copiar, distribuir y/o modificar este documento bajo los trminos de
la Licencia de Documentacin Libre de GNU (GNU Free Documentation License)[1]

ndice general
1. Introduccin

13

1.1. Electrnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2. Tipos de electrnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2.1. Electrnica Analgica . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2.2. Electrnica digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3. Circuitos y sistemas digitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4. Organizacin de los apuntes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2. Sistemas de representacin

21

2.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3. Algunos sistemas de representacin . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.1. Sistema octal (Base 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.2. Sistema binario (Base 2) . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.3. Sistema hexadecimal (Base 16) . . . . . . . . . . . . . . . . . . . . . . 25
2.4. Generalizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5. Tabla de conversin para los sistemas
decimal- 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5

NDICE GENERAL

6
3. ALGEBRA DE BOOLE

33

3.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3. Las propiedades del lgebra de Boole . . . . . . . . . . . . . . . . . . . . . . . 37
3.4. Teoremas importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.5. Funciones booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.5.1. Funciones reales y funciones booleanas . . . . . . . . . . . . . . . . . . 40
3.5.2. Funciones booleanas y tablas de verdad . . . . . . . . . . . . . . . . . . 43
3.6. Formas cannicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.6.1. Primera forma cannica . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.6.2. Segunda forma cannica . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.7. Simplificacin de funciones booleanas . . . . . . . . . . . . . . . . . . . . . . . 50
3.7.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.7.2. Mtodo analtico de simplificacin de funciones . . . . . . . . . . . . . . 51
3.7.3. Mtodo de Karnaugh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.8. La operacin


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

3.9. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.10. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4. CIRCUITOS COMBINACIONALES

69

4.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.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 . . . . . . . . . . . . . . 87
4.4. Aplicacin: Diseo de un controlador para un robot seguidor de lnea . . . . . . 90

NDICE GENERAL

4.4.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.4.2. Especificaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.4.3. Diagrama de bloques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.4.4. Tabla de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.4.5. Ecuaciones booleanas del circuito . . . . . . . . . . . . . . . . . . . . . 94
4.4.6. Implementacin del circuito . . . . . . . . . . . . . . . . . . . . . . . . 95
4.5. Anlisis de circuitos combinacionales . . . . . . . . . . . . . . . . . . . . . . . 95
4.6. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.7. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5. CIRCUITOS MSI (1): Multiplexores y demultiplexores

103

5.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103


5.2. Multiplexores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.2.1. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.2.2. Multiplexores y bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.2.3. Multiplexores de 1 bit y sus expresiones booleanas . . . . . . . . . . . . 107
5.3. Demultiplexores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.3.1. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.3.2. Juntando multiplexores y demultiplexores . . . . . . . . . . . . . . . . . 115
5.3.3. Demultiplexores y bits . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.3.4. Demultiplexores de 1 bit y sus expresiones booleanas . . . . . . . . . . . 117
5.4. Multiplexores con entrada de validacin (ENABLE) . . . . . . . . . . . . . . . . 120
5.4.1. Entrada de validacin activa a nivel alto . . . . . . . . . . . . . . . . . . 120
5.4.2. Entrada de validacin activa a nivel bajo . . . . . . . . . . . . . . . . . . 122
5.5. Extensin de multiplexores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.5.1. Aumento del nmero de entradas . . . . . . . . . . . . . . . . . . . . . 123
5.5.2. Aumento del nmero de bits por canal . . . . . . . . . . . . . . . . . . . 127
5.6. Implementacin de funciones con MXs . . . . . . . . . . . . . . . . . . . . . . 130
5.6.1. Mtodo basado en el Algebra de Boole . . . . . . . . . . . . . . . . . . 131
5.6.2. Mtodo basado en la tabla de verdad . . . . . . . . . . . . . . . . . . . . 132
5.6.3. Implementacin de funciones con multiplexores con entrada de validacin 135
5.7. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

NDICE GENERAL

8
6. Codificadores, decodificadores y comparadores

139

6.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139


6.2. Codificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
6.2.1. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
6.2.2. Ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
6.3. Decodificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 decodificadores segn sus salidas . . . . . . . . . . . . . . . . 148
6.4. Aplicaciones de los decodificadores . . . . . . . . . . . . . . . . . . . . . . . . 148
6.4.1. Como Demultiplexor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.4.2. Implementacin de funciones . . . . . . . . . . . . . . . . . . . . . . . 149
6.5. Resumen de implementacin de funciones . . . . . . . . . . . . . . . . . . . . . 149
6.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 . . . . . . . . . . . . . . . . . . . . . . . . 149
6.7. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
6.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
7. CIRCUITOS ARITMETICOS

151

7.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152


7.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 . . . . . . . . . . . . . . . . . . 152
7.3. Circuitos restadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
7.3.1. Restador en ca1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
7.3.2. Restador en ca2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
7.4. Sumador/restador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
7.4.1. En ca1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
7.4.2. En ca2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
7.5. Aplicacin de los sumadores: transcodificadores . . . . . . . . . . . . . . . . . . 152
7.6. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

NDICE GENERAL

7.7. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152


8. BIESTABLES

153

9. REGISTROS

155

10. CONTADORES

157

11. AUTOMATAS FINITOS

159

12. Solucin a los ejercicios propuestos

161

12.1. Sistemas de representacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161


12.2. Algebra de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

10

NDICE GENERAL

ndice de figuras
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 . . . . . . . . . . . . . . 105
11

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 que
se quiere escuchar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
6.2. El semforo que se quiere controlar . . . . . . . . . . . . . . . . . . . . . . . . 144
6.3. Circuito de control del semforo, usando un decodificador de 2 a 4 . . . . . . . . 144
6.4. Un decodificador de 2 a 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
6.5. Un decodificador de 3 a 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
6.6. Un decodificador de 2 a 4, con entrada de validacin activa a nivel bajo . . . . . 147
6.7. Un decodificador de 2 a 4 con salidas activas a nivel bajo . . . . . . . . . . . . . 148

Captulo 1
Introduccin
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 relaciona
con el resto de asignaturas.

1.1. Electrnica
Esta asignatura trata sobre Electrnica. La Elecrnica estudia el comportamiento de los electrones en diversos medios, y se aplican estos conocimientos para conseguir que los electrones
hagan lo que nosotros queramos. As por ejemplo, si construimos un circuito electrnico constituido por una pequea bombilla, una pila y un interruptor (figura 1.1) y lo conectamos, lograremos que los electrones circulen por todo el circuito y que al atravesar la bombilla parte de ellos
se conviertan en luz1 . Hemos conseguido que los electrones nos obedezcan!!
Para dominar a los electrones, es necesario crear circuitos electrnicos, formados por materiales conductores (cables) que unen todos los componentes del circuito, de la misma manera
que hay tuberas de agua que recorren nuestras casas, uniendo diferentes elementos: grifos, llaves
de paso, el contador del agua...
El objetivo de la electrnica aplicada es construir circuitos electrnicos para que los
electrones se comporten de la manera que a nosotros nos interese.

No es el objetivo de estos apuntos el entrar en los detalles de los fenmenos fsicos que subyacen en los cirucitos
electrnicos. Se pretende que el alumno tenga una intuicin de lo que est pasando.

13

CAPTULO 1. INTRODUCCIN

14
Interruptor abierto

Bombilla

Pila

Interruptor cerrado

Bombilla

Pila

Electrones

Figura 1.1: Un circuito electrnico muy simple: pila, interruptor y bombilla

1.2. Tipos de electrnica


1.2.1. Electrnica Analgica
Uno de los grandes retos del hombre es el de manipular, almacenar, recuperar y transportar
la informacin que tenemos del mundo en el que vivimos, lo que nos permite ir progresando
poco a poco, cada vez con ms avances tecnolgicos que facilitan nuestra vida y que nos permiten
encontrar respuestas a preguntas que antes no se podan responder.
Ahora estamos viviendo un momento en el que esa capacidad de manipulacin, almacenamiento, recuperacin y transporte de la informacin est creciendo exponencialmente, lo que
nos convierte en lo que los socilogos llaman la Sociedad de la informacin, y que tendr (de
hecho ya tiene) grandes implicaciones sociales.
Con la aparicin de la electrnica las posibilidades para desarrollar esas capacidades aumentaron considerablemente. Para comprender los principios de la electrnica analgica, nos centraremos en un ejemplo concreto: la manipulacin, almacenamiento, recuperacin y transporte
de una voz humana.
Cuando hablamos, nuestras cuerdas vocales vibran de una determinada manera, lo que originan que las molculas del aire tambin lo hagan, chocando unas con otras y propagando esta
vibracin. 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-ficcin, cuando una nave destruye a otra en el espacio, se

1.2. TIPOS DE ELECTRNICA

15

Posicion
molecula

Tiempo

Figura 1.2: Un trozo de una seal acstica


Si medimos la vibracin de una de estas molculas, durante un intervalo corto de tiempo, y
la pintamos, podra tener una pinta como la que se muestra en la figura 1.2. A esta vibracin la
llamaremos seal acstica.
Cuando esta seal acstica incide sobre un micrfono, aparece una seal elctrica que tiene
una forma anloga a la de la seal acstica. Las vibraciones de las molculas se han convertido
en variaciones del voltaje, que al final se traducen en vibraciones de los electrones. Es decir, que
con los micrfonos lo que conseguimos es que los electrones vibren de una manera anloga a
cmo lo hacen las molculas del aire (ver figura 1.3).
Esta nueva seal elctrica que aparece, se denomina seal analgica, puesto que es anloga
a la seal acstica original. De esta manera, con seales elctricas conseguimos imitar las seales
del mundo real. Y lo que es ms interesante, conseguimos que la informacin que se encuentra
en 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 ms
fidelidad.
La electrnica analgica trata con este tipo de seales, anlogas a las que hay en el mundo
real, modificando sus caractersticas (ej. amplificndola, atenundola, filtrndola...).
Fijmonos en el esquema de la figura 1.4. La persona que habla emite una seal acstica
que es convertida en una seal electrnica analgica por el micrfono. Estas dos seales son
muy parecidas, pero la que sale del micrfono es ms pequea. Por ello se introduce en un
circuito electrnico, llamado amplificador, que la agranda (la ha manipulado). A continuacin
esta seal se puede registrar en una cinta magntica de audio. Lo que se graba es una copia
de la seal, pero ahora convertida a seal magntica. En cualquier momento la seal se puede
escucha un sonido de explosin.Fenmeno que es imposible!!!!!, pero que queda muy vistoso :-)

CAPTULO 1. INTRODUCCIN

16

Ambas seales
son muy parecidas

Seal
acustica

Persona
hablando
:)

Seal
electrica
analogica

Microfono

Cable

Figura 1.3: Conversin de una seal acstina en una seal elctrica

Seal
acustica

Seal
electrica

Seal
electrica

Seal
electrica
Seal
acustica

Microfono
Amplificador

Sistema de
transmision
recepcion

Cinta de audio
Seal
"magnetica"

Figura 1.4: Un sistema de tratamiento de voz, con electrnica analgica

1.2. TIPOS DE ELECTRNICA

17

volver a recuperar, convirtindose de seal magntica nuevamente a seal elctrica. Una parte
del sistema se ha llamado sistema de transmisin-recepcin indicndose con esto que la seal
elctrica se puede transportar (Por ejemplo el sistema telefnico). Finalmente se introduce por
un altavoz que relaliza la conversin inversa: pasar de una seal elctrica a una acstica que se
puede 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 es
lo mismo un sistema electrnico para audio que para vdeo, puesto que las seales tienen
caractersticas completamente diferentes).
En las seales analgicas, la informacin se encuentra en la forma de la onda

1.2.2. Electrnica digital


Existe otra manera de modificar, almacenar, recuperar y transportar las seales, solucionando los problemas anteriores. Es un enfoque completamente diferente, que se basa en convertir
las seales en nmeros.
Existe un teorema matemtico (teorema de muestreo de Nyquist) que nos garantiza que cualquier seal se puede representar mediante nmeros, y que con estos nmeros se puede reconstruir la seal original.
De esta manera, una seal digital, es una seal que est descrita por nmeros. Es un conjunto
de 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.
Reflexionemos un poco. Estamos acostumbrados a escuchar el trmino televisin digital, o
radio digital. Qu significa esto? Significa 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 la
seal que recibidos. Y qu es un sistema digital?, un sistema que trabaja con nmeros. Y un
circuito digital? Un circuito electrnico que trabaja con nmeros. Y slo con nmeros!!
Si nos fijamos, con un ordenador, que es un sistema digital, podemos escuchar msica o ver
pelculas. La informacin que est almacenada en el disco duro son nmeros.
En la figura 1.5 se muestra un sistema digital. La seal acstica se convierte en una seal
elctrica, y a travs de un conversor analgico-digital se transforma en nmeros, que son procesados por un circuito digital y finalmente convertidos de nuevo en una seal electrnica, a

CAPTULO 1. INTRODUCCIN

18
Seal
acustica

Seal digital
(NUMEROS)
Seal
electrica

Seal
electrica

A/D

5083...

Microfono

transformar
Almacenar
Recuperar
Transportar

Conversor
analogico/digital

Seal
acustica

9287...

D/A

Conversor
digital/analogico

Altavoz

CIRCUITO
DIGITAL

Figura 1.5: Sistema digital


travs de un conversor digital-analgico, que al atravesar el altavoz se convierte en una seal
acstica.
El utilizar circuitos y sistemas que trabajen slo con nmeros tiene una ventaja muy importante: 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, especializada
en 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 no
en la forma de seal. Cualquier seal siempre se puede convertir a nmeros y recuperarse
posteriormente.

1.3. Circuitos y sistemas digitales


Ya podemos entender de lo que trata esta asignatura. En ella estudiaremos y disearemos
circuitos digitales, que manipulan nmeros. Existen unos nmeros en la entrada y nuestro
circuitos generar otros nmeros de salida (figura 1.6). Algunos nmeros se considerarn como
datos y otros se usarn para el control del propio circuito. No nos preocuparemos de dnde vienen
estos nmeros, pero ya sabemos que o bien vendrn de otro sistema digital, o bien de una seal
analgica que se ha convertido a nmeros (se ha digitalizado).
Un circuito digital realiza manipulaciones sobre los nmeros de entrada y genera unos
nmeros de salida.

1.4. ORGANIZACIN DE LOS APUNTES

19

Numeros de
entrada
5,8,10...

Numeros de
salida

Circuito

22,4,05...

Ditial

Figura 1.6: Un circuito digital genrico

1.4. Organizacin de los apuntes


En la introduccin hemos visto la importancia que tienen los nmeros en los sistemas digitales. En el captulo 2 veremos las diferentes formas de representar un nmero y en concreto nos
centraremos en el sistema binario. Para poder disear circuitos digitales, que manipulen nmeros 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 mediante
puertas lgicas. En el captulo 5 describiremos otros circuitos combinacionales ms complejos,
constituidos a partir de puertas lgicas, pero que se pueden considerar como componentes electrnicos: multiplexores, demultiplexores, codificadores, decodificadores, comparadores... y en el
captulo 7 cmo es posible realizar operaciones aritmticas. A partir del captulo 8 se empiezan
a ver cirucitos secuenciales, que se caracterizan porque pueden recordar o almacenar nmeros. Los biestables nos permiten almacenar 1 bit de informacin y agrupndolos en registros
(captulo 9) almacenamos ms informacin. Finalmente estudiaremos los contadores (captulo
10) y los autnomas finitos (captulo 11).

20

CAPTULO 1. INTRODUCCIN

Captulo 2
Sistemas de representacin
2.1. Introduccin
Hemos visto en el captulo 1 cmo un circuito digital trabaja con nmeros y slo con
nmeros. El esquema general de estos circuitos se puede ver en la figura 2.1. Antes de entrar en
la comprensin y diseo de estos circuitos, hay que estudiar cmo se pueden representar esos
nmeros, de manera que el circuito los entienda. Veremos que existen muchsimas formas de
representar el mismo nmero (de hecho, existen infinitas formas), pero slo unas pocas son las
que nos interesarn para los circuitos digitales.

2.2. Conceptos
El concepto de nmero todos lo tenemos, pero un mismo nmero se puede representar
de muchas maneras. Por ejemplo, el nmero 10, lo representamos mediante dos dgitos, el 1
y el 0. Si utilizsemos numeracin romana, este mismo nmero lo representaramos slo con
un nico dgito X. Pero est claro que ambas representaciones, 10 y X hacen referencia al
mismo nmero diez.
Numeros de
entrada
5,8,10...

Numeros de
salida

Circuito

22,4,05...

Ditial

Figura 2.1: Un circuito digital genrico


21

CAPTULO 2. SISTEMAS DE REPRESENTACIN

22

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 Sistema
decimal o sistema en base diez.
Analicemos con un poco ms de detalle el sistema decimal, que es el que manejamos habitualmente. 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 modifica, se est representando 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 mensual de un ingeniero1 . Si le preguntamos qu dgito es el que le gustara modificar para tener
un 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 a
3285 euros.
El dgito 3 es ms importante que todos los que tiene a su derecha. Tiene un peso mayor
que el resto de dgitos. De hecho, este dgito 3 est representando al nmero tres mil. El dgito
2 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 izquierda se site el dgito, mayor ser la pontencia de diez por la que se multiplica.
En la figura 2.2 se muestra el nmero 3281 descompuesto en dgitos y pesos, y se indica cul
es el dgito de mayor peso y cul es el de menor.
1

Obviamente esto no se corresponde con la realidad :-)

2.2. CONCEPTOS

23

Digito de
mayor peso

Digito de
menor peso

3281

3.10 + 2.10 + 8.10+ 1.10


DIGITOS
PESOS

Figura 2.2: Dgitos y pesos del nmero 3281


Este sistema de representacin tambin se llama sistema en base diez porque los pesos de
los 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 dgitos
diferentes, asignndoles un peso que es una potencia de diez, y que ser mayor cuanto ms a
la izquierda se encuentre el dgito.
Qu nos impide que utilicemos unos sistemas de representacin en los que los pesos de
los 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 potencias
de 8. En este sistema, si escribimos los dgitos 352 no se corresponden con el nmero trescientos
cincuenta y dos . Para calcular cul es el nmero que representa hay que multiplicar cada dgito
por 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 10
como en el sistema decimal. Para evitar confusiones cuando se trabaja con sistemas de representacin diferentes, se emplea la siguiente notacin:

 


CAPTULO 2. SISTEMAS DE REPRESENTACIN

24

El subndice 8 indica que el nmero est representado en un sistema octal y con el subndice
10 se indica que lo est en un sistema decimal.

2.3. Algunos sistemas de representacin


2.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 los
pesos 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 denomina
sistema binario. Este sistema de representacin slo utiliza los dgitos 0 y 1 para representar
cualquier nmero. Fijmonos en lo interesante que resulta esto, slo con dos dgitos podemos
representar cualquiera de los infinitos nmeros!!!
En el sistema binario los pesos de estos dgitos son pontencias de 2. Veamos un ejemplo del
nmero 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 esta


asignatura. Fijmonos en lo que significa esta forma de representacin. Utilizando slo dos
dgitos, es posible representar cualquiera de los infinitos nmeros. En la tecnologa actual disponemos 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 chips
se basan en estos transistores y trabajan internamente en binario. Todas las operaciones se realizan 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.
2

El nombre tcnico para estos estados es Corte y Saturacin, pero es ms intuitivo pensar en un transistor como
en un pequeo interruptor que puede estar abierto o cerrado.

2.4. GENERALIZACIN

25

2.3.3. Sistema hexadecimal (Base 16)


Y sera posible utilizar ms de 10 dgitos para representar los nmeros?. Tambin es posible. 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 respectivamente. Los pesos de los dgitos son pontencias de 16. Por ejemplo, el nmero hexadecimal
FE2A se puede descomponer de la siguiente manera:

 

  

    
    



 





 


   =

   

 

El sistema hexadecimal es muy curioso. Permite escribir nmeros como los siguientes: CACA, DE, BACA :-). Se deja como ejercicio el obtener sus correspondientes nmeros en el sistema
decimal.
Este sistema, como veremos ms adelante, se emplea para escribir nmeros binarios de una
manera ms compacta, dado que el paso de hexadecimal a binario y vice-versa es inmediato.

2.4. Generalizacin

Dado un nmero de m dgitos ( , y usando un sistema en base b, se puede expresar en


el sistema decimal utilizando la siguiente frmula:


     




   ! 
 

Esta frmula no es ms que la generalizacin de los ejemplos expuestos en el apartado anterior. Si estamos trabajando con un sistema en base 7 (b=7) y el nmero que queremos convertir
al sistema decimal tiene 4 dgitos (m=4), la frmula de conversin sera:

   


 #"   $"   #"   #"




En esta asignatura nos centraremos en el sistema binario, que ser el que tendremos que
comprender para utilizarlo en el diseo de circuitos digitales.

CAPTULO 2. SISTEMAS DE REPRESENTACIN

26

2.5. Tabla de conversin para los sistemas


decimal- binario- hexadecimal
La tabla que se muestra a continuacin representa las equivalencias entre diferentes nmeros
expresados en los sistemas decimal, binario y hexadecimal, que son los que ms usaremos.
DECIMAL

BINARIO HEXADECIMAL

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

10

1010

11

1011

12

1100

13

1101

14

1110

15

1111

Ejercicios:
Hacer el ejercicio 1 de este captulo.

2.6. Circuitos digitales y el Sistema binario


Ahora que ya tenemos un poco ms claro el concepto de nmero y las diferentes formas que
tenemos de representarlo, podemos retomar el esquema de un circuito digital (Figura 2.1) para
precisarlo un poco ms.

2.6. CIRCUITOS DIGITALES Y EL SISTEMA BINARIO


Numeros de
entrada, en binario

.
.
.

27

Numeros de
salida, en binario
S0
E0
E1 Circuito S 1
S2
E2
S3
E3 Ditial
Em

Sn

.
.
.

Figura 2.3: Un circuito digital genrico, con entradas y salidas binarias


3 Bits de entrada

4 bits de salida
E0 Circuito S 0
S1
E1
Ditial
S2
E2
S3

Figura 2.4: Un circuito digital con tres bits de entrada y 4 de salida


Con la tecnologa que hay actualmente, los circuitos digitales manipulan nmeros que estn
representados en binario. As podemos decir que un circuito digital actual tiene como entradas
y salidas nmeros en binario. Es decir, nmeros que vienen expresados con los dgitos 0 y
1. En la figura 2.3 se ha dibujado un circuito digital genrico, en el que sus entradas y salidas
se expresan en binario. Cada una de las entradas y salida representa un dgito binario. Pero cual

es 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 ingles
BInary digiT (dgito binario). Utilizaremos los bits para indicar el tamao de las entradas y salias
de nuestros circuitos. As por ejemplo podemos tener un circuito digital con 3 bits de entrada y
4 de salida. Este circuito se muestra en la figura 2.4.
Los circuitos digitales slo saben trabajar con nmeros en binario, sin embargo a los humanos nos es ms cmodo trabajar en decimal. Trabajar con nmero binarios puede parecer poco
intuitivo. Vamos a ver cmo en determinadas ocasiones resulta muy intuitivo el trabajar con
nmeros binarios.
Imaginemos que en una habitacin hay 5 bombillas situadas en la misma lnea, y que cada

CAPTULO 2. SISTEMAS DE REPRESENTACIN

28
Bombilla
encendida

Bombilla
apagada

Figura 2.5: Utilizacin del sistema binario para expresar el estado de 5 bombillas

una de ellas puede estar encendida o apagada. Cmo podramos representar el estado de estas
5 bombillas mediante nmeros? Una manera muy intuitiva sera utilizar el sistema binario, en
el que utilizaramos el dgito 1 para indicar que la bombilla est encendida y el dgito 0 para
indicar 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 la
figura 2.5. Esta forma de representar el estado de las bombillas es bastante intuitivo. Este es un
ejemplo en el que se puede ver que pensar en binario resulta ms fcil que hacerlo directamente
en decimal.

2.7. Sistema binario y sistema hexadecimal


El sistema hexadecimal se utiliza para representar nmeros binarios de una forma ms
compacta. Cada dgito hexadecimal codifica 4 bits, de manera que un nmero hexadecimal de 4
bits 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. Lo
nico que hay que conocer es la tabla del apartado 2.5. El nmero en binario hay que dividirlo
en grupos de 4 bits empezando desde la derecha. La conversin del nmero binario anterior se
hara de la siguiente manera:

2.8. BITS Y ELECTRNICA


5 voltios

29
A

0 voltios

Circuito
E
1 Bit de entrada

Ditial

S
1 Bit de salida

Figura 2.6: Cmo introducir dgitos binarios por un bit de la entrada de un circuito digital

1011 0001 1110 1101


B

Ejercicios:
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, forzndolos a que hagan lo que nosotros queremos. En el caso de los circuitos digitales, lo que
hacemos es operar con nmeros. Cmo conseguimos esto? Cmo introducimos los nmeros
en 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 figura 2.6 se muestra un circuito digital que tiene un bit de entrada. Si queremos introducir un dgito 1 ponemos el interrupcin en la posicin A, de manera que por la entrada E
llegan 5 voltios. Si queremos introducir un dgito 0 ponemos el interruptor en la posicin B,
por lo que llegan cero voltios.

CAPTULO 2. SISTEMAS DE REPRESENTACIN

30

En los circuitos digitales, se usan dos tensiones diferentes, una para representar el dgito
1 y otra para representar el dgito 0. En la electrnica tradicional se usan 5 voltios para el
digito 1 y 0 voltios para el digito 0

2.9. Otros sistemas de representacin


Para representar los nmeros hemos visto que los circuitos digitales utilizan el sistema binario. Y hemos estado utilizando el sistema binario natural, en el que los bits tienen de peso
potencias de 2, que es lo ms habitual.
Sin embargo existen otros sistemas de representacin que son binarios en el sentido de que
slo 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 Codificado en Binario. Es una manera de representar nmeros
decimales 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 se
representa 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 un
nmero al siguiente implica que slo se modifica un bit.

2.10. Terminologa
BIT Dgito binaro. Un bit puede tomar los valores 0 1. Es la abreviatura de las palabras inglesas
de Binary digiT.
Byte Conjunto de 8 bits. El nmero ms alto que se puede representar es el 11111111, que en
decimal es 255.

2.11. EJERCICIOS RESUELTOS

31

2.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:

 

 




b)

 

























+ 16 + 4 + 2 +1 = 87
  


Solucin:

BABA=B 


   


   

c)

4096 + 10 256 + 11 16 + 10 =
45056 + 2560 + 176 + 10 =47802

Solucin:

 
  
=2 8 + 9 = 16 + 9 = 25

4. Pasar de hexadecimal a binario:


a) FFFF
Solucin:
FFFF = F - F - F - F = 1111-1111-1111-1111 = 1111111111111111

CAPTULO 2. SISTEMAS DE REPRESENTACIN

32
b) FA00
Solucin:

FA00 = F-A-0-0 = 1111-1010-0000-0000 = 1111101000000000


c) 321C
Solucin:
321C = 3-2-1-C = 0011-0010-0001-1100 = 11001000011100

2.12. Ejercicios
1. Pasar los siguientes nmeros a decimal

b)
c)
d)

"

a)



 





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

Captulo 3
ALGEBRA DE BOOLE
3.1. Introduccin
Cuando trabajamos en ingeniera, utilizamos ecuaciones y modelos matemticos que describren 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 de
banda W y por el que se permiten n estados posibles de la seal transmitida, y ser usada por
un Ingeniero de Telecomunicacin para el diseo de canales o sistemas de comunicacin. Esa
ecuacin describe una relacin entre ciertas variables, que son objeto de estudio del Ingeniero.
A lo mejor no entendemos el significado de esta ecuacin. No sabemos lo que significa ancho
de 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 determinada por la ecuacin:

 
  
33

CAPTULO 3. ALGEBRA DE BOOLE

34
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, sabemos
que 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 ha
utilizado y adems sabemos algunas propiedades de ellas.
En estas dos ecuaciones de ejemplo, los nmeros y las variables son Reales. El conjunto
de los Nmeros Reales lo conocemos muy bien, as como todas las operaciones definidas en l.
Estamos acostumbrados a trabajar con ellos desde pequeos, por eso este tipo de ecuaciones nos
parecen intuitivas y sencillas, aunque no comprendamos lo que significan las variables usadas.
Hemos dicho que los circuitos digitales trabajan con nmeros, y que estos nmeros se expresan en binario. Veremos ms adelante cmo con un conjunto de ecuaciones podemos describir
lo que hace un circuito, que transforma los nmeros de la entrada y los saca por la salida. Sin
embargo, puesto que estos nmeros vienen expresados en binario, las variables y nmeros utilizados NO SON REALES.
Para describir un circuito digital utilizaremos ecuaciones
Para describir un circuito digital utilizaremos ecuaciones matemticas. Sin embargo, estas
ecuaciones tienen variables y nmeros que NO SON REALES, por lo que NO podemos aplicar
las mismas propiedades y operaciones que conocemos. Hay que utilizar nuevas operaciones y
nuevas propiedades, definidas en el ALGEBRA DE BOOLE.
Por tanto, vamos a trabajar con unas ecuaciones a las que NO estamos acostumbrados. Son
muy sencillas, pero al principio pueden resultar poco intuitivas. En este captulo aprenderemos a
trabajar con ellas.

3.2. Las operaciones del lgrebra de Boole


En el lgebra de Boole hay dos operaciones, denotadas con los smbolos + y pero que no
tienen nada que ver con las operaciones que todos conocemos de suma y producto!!. No

3.2. LAS OPERACIONES DEL LGREBRA DE BOOLE

35

hay 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 define de la siguiente manera:
0+0=0
0+1=1
1+0=1
1+1=1
Las tres primeras operaciones nos resultan obvias, son iguales que la suma que conocemos,

nos puede resultar chocante. Pero no me haban dicho


sin embargo la expresin 
toda la vida que 1+1=2??, nos podemos estar preguntando. S, pero hay que recordar que aqu
estamos 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 con
Algebra de Boole!!
Pasado el pnico inicial, si nos fijamos en esta nueva operacin, notamos lo siguiente: El
resultado siempre es igual a 1 cuando alguno de los bits sumandos es igual a 1. O lo que
es lo mismo, El resultado de esta suma slo da 0 si los dos bits que estamos sumando son
iguales a cero. En caso contrario valdr 1.
Y para qu nos sirve esta operacin tan extraa? Veamos un ejemplo. Imaginemos que hay
una sala grande a la que se puede acceder a travs de dos puertas. En el techo hay una nica
lmpara y existen dos interruptores de luz, uno al lado de cada puerta de entrada. Como es
lgico, la luz se enciende cuando algunos de los dos interruptores (o los dos) se activan. Esto
lo podemos expresar mediante una ecuacin booleana. Para denotar el estado de uno de los
interruptores 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 la
luz, 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 viene
dado por la ecuacin booleana:

 

que indica que F=1 (Luz encendida) si alguno de los interruptores est a 1 (activado).

CAPTULO 3. ALGEBRA DE BOOLE

36

Ya lo veremos ms adelante, pero podemos ir adelantando unas propiedades muy interesantes. Si A es una variable boolena, se cumple:
A+A=A
1+A=1
0+A=A

3.2.2. La operacin
Esta operacin se define 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 nmeros
Reales. Si nos fijamos, vemos que el resultado slo vale 1 cuando los dos bits estn a 1, o
visto 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 abre
cuando se han introducido dos llaves diferentes, una la tiene el director y la otra el jefe de seguridad. 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 introducida) y la variable B para la otra llave. Con la variable F expresamos el estado de la caja de
seguridad (0 cerrada y 1 abierta). El estado de la caja lo podemos expresar con la ecuacin:



que indica que la caja se abrir (F=1) slo si A=1 (una llave introducida) y B=1 (la otra llave
introducida). 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

3.3. LAS PROPIEDADES DEL LGEBRA DE BOOLE

37

3.2.3. La negacin
La operacin de negacin nos permite obtener el estado complementario del bit o variable
booleana al que se lo aplicamos. Se define de la siguiente manera:


Es decir, que si se lo aplicamos a 0 obtenemos 1 y si se lo aplicamos al 1 obtenemos
0. Esta operacin nos permite cambiar el estado de una variable booleana. Si A es una variable
boolena,

tiene el estado contrario.

3.3. Las propiedades del lgebra de Boole


Las operaciones del lgebra de Boole las podemos definir utilizando tablas de verdad:
Operacin +
A

A+B

0
0

0
1

0
1

1
1

0
1

1
1

Operacin
A B

AB

0
0

0
1

0
0

1
1

0
1

0
1

Las propiedades del Algebra de Boole son las siguientes:


1. Las operaciones + y son CONMUTATIVAS
  
  

CAPTULO 3. ALGEBRA DE BOOLE

38
2. Elemento Neutro
A+0=A
A 1=A
3. Distributiva
   

  







  
 

4. Elemento inverso
  

=0

Operacin de negacin definida por:

Ejercicios:
Para practicar e ir cogiendo soltura con el Algebra de Boole se recomienda hacer el ejercicio
1 de este captulo.

3.4. Teoremas importantes


Derivados de las propiedades fundamentales, existen una serie de Teoremas muy interesantes
e importantes que usaremos a lo largo de todo el curso. Algunos los utilizaremos en la teora y
otros para los problemas.
Asociatividad
   




Idempotencia:
  



 




   





3.4. TEOREMAS IMPORTANTES

39

Ley de Absorcin
   


  

 

Este teorema es muy importante puesto que nos permite realizar simplificaciones en las
expresiones.
Leyes de DeMorgan
     
 






 







  
   





Este teorema es tambin muy importante y lo usaremos constantemente. Vamos a hacer


algunos ejemplos para aprender a utilizarlo:

 

Ejemplo 1:




Ejemplo 3:

Ejemplo 2:




Ejemplo 4:

Teorema de Shannon:


 
 

    


 


 






     

 











    







      

Este teorema es una generalizacin de las leyes de DeMorgan. Lo que nos dice es que
si tenemos cualquier expresin booleana negada, es igual a la misma expresin en la que
todas las variables estn negadas y en la que se sustituyan las operaciones + por . y viceversa.
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 de
Shannon.

Ejemplo 6:
Ejemplo 7:

  


=(

   
   

CAPTULO 3. ALGEBRA DE BOOLE

40
Teorema de expansin:
 









 
   

 
   
       







        
      



Este teorema es ms terico y no tiene aplicacin directa en los problemas.

Ejercicios:
Hacer el ejercicio 2.

3.5. Funciones booleanas


3.5.1. Funciones reales y funciones booleanas
Hasta ahora hemos visto en qu operaciones se basa el Algebra de Boole y algunas de sus
propiedades. Para aprender a trabajar con este nuevo tiepo de expresiones booleanas es necesario
practicar, por eso se recomienda que se hagan los ejercicios propuestos.
Utilizando expresiones booleanas, vamos a definir Funciones booleanas, que son exactamente iguales a las funciones matemticas a las que estamos habituados pero con la particularidad de que las variables son booleanas y que los valores devueltos por la funcin tambin
son 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 las
que todos conocemos. Por ejemplo esta:







Se trata de una funcin Real que tiene una variable Real (x). Para cada valor de x, otenemos
el valor de la funcin. As por ejemplo podemos calcular los siguiente:








3.5. FUNCIONES BOOLEANAS

41

Como es una funcin Real, obtenemos como valores de la funcin Nmeros Reales.
Tambin podemos definir funciones reales de 2 ms variables, como por ejemplo:

   

     


. Funcin de 2 variables




. Funcin de 3 variables

Como estamos acostumbrados a trabajar con este tipo de funciones, nos resultan sencillas. Ahora
vamos a definir funciones booleanas. Para ello hay que tener en mente que trabajaremos con
variables booleanas y que por tanto usaremos las operaciones + y del Algebra de Boole, y que
como ya sabemos, nada tienen que ver con las operaciones suma y producto a las que estamos
habituados.
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 la
variable A es booleana, slo puede tomar los valores 0 y 1. Los que la funcin F toma son:
F(0)=  =1

F(1)=

Vamos a definir 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).

CAPTULO 3. ALGEBRA DE BOOLE

42

Fijndonos 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 4
casos 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 pueden
aplicar algunas propiedades para obtener una funcin ms simplificada (Como veremos
en el apartado 3.7):



    
     
{Aplicando la propiedad distributiva}=     
  
 
Es ms sencillo trabajar con esta funcin simplificada:  
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 variables

Por cuestiones de comodidad, muchas veces no escribimos entre parntesis las variables de la
funcin, as por ejemplo podemos definir una funcin de 3 variables de la siguiente manera:

Ejercicios:
Hacer el ejercicio 3




3.5. FUNCIONES BOOLEANAS

43

3.5.2. Funciones booleanas y tablas de verdad


Existen dos maneras de representar una funcin booleana. Una ya la conocemos, y es utilizado expresiones booleanas. As por ejemplo se puede definir la funcin booleana siguiente:



y hemos visto cmo podemos obtener todos los valores de esta funcin.
Existe otra manera de especificar una funcin booleana y es utilizando las tablas de
verdad. En ellas lo que estamos representando es el valor que debe tomar la funcin cuando
las variables de entrada toman todos los valores posibles. As por ejemplo yo puedo definir una
funcin G de la siguiente manera:
A B

0
1
1

1
0
1

1
0
1

Cunto vale G si A=0 y B=1?. Miramos la tabla y vemos que G vale 1. Esta forma de definir
funciones booleanas es muy sencilla. El nmero de filas de la tabla de verdad depende del nmero
de variables que usemos.
Cuanto mayor nmero de variables, mayor cantidad de filas tendr la tabla de verdad.
La regla que se cumple es la siguiente: Si la funcin tienen n variables, la tabla de verdad

tendr filas. Veamos algunos ejemplos:
Si una funcin tiene 2 variables, su tabla de verdad tendr 4 filas


Si la funcin tiene 4 variables, la tabla tendr

Si la funcin tiene 3 variables, la tabla tendr




8 filas
16 filas

.....
En la prctica no haremos tablas de verdad de ms de 4 variables. Para eso estn los ordenadores
:-). Nosotros aprenderemos a definirlas y manejarlas.
Todava hay algo que necesitamos conocer. Qu relacin hay entre una funcin definida
mediante expresiones booleanas y una funcin definida mediante una tabla de verdad? Es

CAPTULO 3. ALGEBRA DE BOOLE

44

decir, dada una tabla de verdad, cmo podemos obtener la expresin booleana de la funcin? O
dada 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 identificar el nmero de variables
de la funcin, para conocer el tamao de la tabla de verdad. A continuacin escribimos nmeros
en binario en la parte de las variables. Finalmente vamos fila por fila obteniedo el valor de la
funcin, utilizando la expresin.
Lo mejor es ver un ejemplo. Imaginemos que nos han dado la siguiente funcin, definida por
la expresin:

1. La funcin tiene 2 variables, luego la tabla de verdad tendr




filas

2. Dibujamos una tabla de verdad con 4 filas, y ponemos en la parte de la izquierda el nmero
de fila en binario natural, comenzando por la fila 0.
A B
0
0

0
1

1
1

0
1

3. Aplicando la expresin, vamos calculando el valor de F. La primera fila se corresponde


con 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:

3.5. FUNCIONES BOOLEANAS

45
A B

0
0

0
1

0
1

1
1

0
1

0
1

Veamos otro ejemplo, ahora con una funcin de 3 variables:

1. Como la funcin tiene 3 variables, la tabla de verdad tendr




8 filas.

2. Dibujamos la tabla, poniendo en binario natural el nmero de fila, comenzando por 0:


A

C G

0
0

0
0

0
1

0
0

1
1

0
1

1
1
1

0
0
1

0
1
0

3. Calculamos el valor de la funcin para cada una de las filas. El resultado se muestra a
continuacin, dejndose al lector su comprobacin:
A

C G

0
0

0
1

1
0

1
0

0
1
1

1
0
0

1
0
1

1
1
1

1
1

1
1

0
1

0
1

CAPTULO 3. ALGEBRA DE BOOLE

46

Ejercicios:
Hacer el ejercicio 4
Obtencin de una expresin a partir de una tabla de verdad
Cuando diseemos circuitos combinacionales, ser muy normal que tengamos una tabla de
verdad que haya que convertir a expresiones booleanas. El proceso es sencillo, sin embargo
ocurre que dada una tabla de verdad se pueden obtener multitud de expresiones diferentes,
todas ellas equivalentes. Nuestra misin consistir en obtener la expresin ms simplificada
posible. Esto lo iremos viendo en los siguientes apartados.

3.6. Formas cannicas


A partir de una tabla de verdad, podemos obtener mltiples expresiones para la misma
funcin. Todas esas expresiones son equivalentes y podemos obtener unas expresiones de otras
aplicando las propiedades del lgebra de Boole.
Existen dos tipos de expresiones que se obtienen directamente de la tabla de verdad, de forma
inmediata. Se denominan formas cannicas. Se caracterizan porque en todos los trminos de
estas expresiones aparecen todas las variables.

3.6.1. Primera forma cannica


Una funcin que est en la primera forma cannica se caracteriza porque est formada
por sumas de productos. Y recordemos que por ser una forma cannica, en todos sus trminos
se ecuentran todas sus variables.
Un ejemplo de una funcin de 3 variables, expresada en la primera forma cannica es la
siguiente:



 


 


Vemos que est constituida por la suma de tres trminos y en cada uno de los trminos estn
todas las variables.
La obtencin de la primera forma cannica, a partir de una tabla de verdad es inmediato. El
proceso se denomina desarrollo de la tabla de verdad por unos. Tomamos la tabla de verdad y
slo nos fijamos en las filas en las que la funcin vale 1, olvidndonos del resto. Por cada una de

3.6. FORMAS CANNICAS

47

estas filas tendremos un sumando, constituido por el producto de todas las variables, aplicando
la siguiente regla:
Si una variable est a 0, en la fila escogida, usaremos la variable negada, y si est a 1
usaremos la variable sin negar.

Ejemplo:
Obtener la primera forma cannica, a partir de la siguiente tabla de verdad:
A

C F

0
0

0
0

0
1

0
1

0
0
1

1
1
0

0
1
0

0
1
0

1
1

0
1

1
0

0
0

Nos fijamos en las filas en las que F=1. Vemos que slo hay tres filas, por tanto la funcin F
se podr expresar como suma de tres trminos. Tomemos la primera fila en la que F=1. En ella
  . Ahora nos fijamos en la
vemos que A=0, B=0 y C=1, por tanto el primer trmino ser
 
siguiente fila en la que F=1: A=0, B=1 y C=1, por tanto el segundo trmino ser:
.Y
por ltimo nos fijamos en la ltima fila en la que F=1, en la que A=1, B=1 y C=1, por lo que el
  . La funcin F ser la suma de estos tres trminos:
trmino ser:




 


 


Esta funcin est constituida por la suma de tres trminos y en cada uno de ellos es el producto
de las tres variables, bien negadas o no.
Vamos en algunos casos que esta expresin representa la misma funcin que la de la tabla de
verdad:
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:

 
 


 

CAPTULO 3. ALGEBRA DE BOOLE

48

Se 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 corresponde
una fila de la tabla de verdad, es decir, un nmero en decimal. As en la funcin anterior:

 


 


 
el trmino
representa la fila de la tabla de verdad en la que A=0, B=0 y C=1, que si
se pone en decimal es el nmero 1.
De esta manera, esa funcin la podemos escribir de la siguiente manera:

  

"

3.6.2. Segunda forma cannica


Un funcin en la segunda forma cannica se caracteriza porque est formada por un
producto de sumas. Y en todos sus trminos deben aparecer todas sus variables, bien negadas o
no. Por ejemplo:






  


est constituida por dos trminos que van multiplicados, y cada uno de ellos est formado
por sumas.
La obtencin de la segunda forma cannica, a partir de una tabla de verdad es inmediato. El
proceso se denomina desarrollo de la tabla de verdad por ceros. Tomamos la tabla de verdad y
slo nos fijamos en las filas en las que la funcin vale 0, olvidndonos del resto. Por cada una
de estas filas tendremos un trmino, constituido por la suma de todas las variables, aplicando la
siguiente regla:

3.6. FORMAS CANNICAS

49

Si una variable est a 1, en la fila escogida, usaremos la variable negada, y si est a 0


usaremos la variable sin negar.
Es decir, que esta regla es justo la contraria que cuando estbamos trabajando con la primera
forma cannica.

Ejemplo:
Obtener la segunda forma cannica, a partir de la siguiente tabla de verdad:
A

C F

0
0
0

0
1
1

1
0
1

1
0
1

1
1

0
0

0
1

0
1

1
1

1
1

0
1

0
1

Nos fijamos en las filas en las que F=0. En este ejemplo hay tres. Cada fila representa un
trmino, que estar multiplicando al resto. Tomamos la primera fila en la que F=0 y vemos que
   . Para la siguiente
A=0, B=1 y C=0. Aplicando la regla, el trmino que obtenemos es: 
   y finalmente, de la fila en la que A=1, B=1 y
fila en la que F=0, A=1, B=0 y C=0: 
   . La funcin F desarrollada por la segunda forma cannica, queda:
C=0 obtenemos: 






  


  


Se deja como ejercicio al lector el que compruebe que efectivamente esta expresin representa la misma funcin que la de la tabla de verdad.

Ejercicios:
Hacer los ejercicios 7 y 8.

CAPTULO 3. ALGEBRA DE BOOLE

50

Notacin:
Para la segunda forma cannica se usa otra notacin. La funcin F anterior est consituida
   , se corresponde con la
por tres trminos multiplicados. Si nos fijamos en el primero: 
fila de la tabla de verdad en la que A=0, B=1, C=0, que si lo ponemos en decimal es el nmero
2. De esta manera podemos usar la siguiente notacin para representar a F:



  

3.7. Simplificacin de funciones booleanas


3.7.1. Introduccin
En las matemticas con nmeros Reales, estamos muy acostumbrados a simplificar. De hecho
es lo que nos han enseado desde pequeos. Si una determinada expresin la podemos simplificar, por qu no hacerlo?, as seguro que nos ahorramos clculos. Por ejemplo, si vemos la
siguiente ecuacin:






lo primero que hacemos es simplificarla, aplicando primero que





, quedando:

que todava puede ser simplificada ms, dividiendo por 2:




Una vez simplificada es mucho ms fcil trabajar.


Cuando estamos diseando circuitos digitales, utilizaremos funciones booleanas para describirlos. Y antes de implementarlos, es decir, antes de convertir las ecuaciones a componentes
electrnicos (puertas lgicas) tenemos que simplificar al mximo. Una de las misiones de los
Ingenieros 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 esto
es lo que conseguimos si trabajamos con funciones simplificadas.

3.7. SIMPLIFICACIN DE FUNCIONES BOOLEANAS

51

Las funciones booleanas se tienen que simplificar al mximo, para disear los circuitos
con el menor nmero de componentes electrnicos.
Y este ser uno de los grandes caballos de batalla de esta asignatura: la simplificacin de las
funciones. Esta simplificacin la podemos realizar de dos maneras diferentes:
1. Utilizando las propiedades y Teoremas del Algebra de Boole. Se denomina mtodo
analtico de simplificacin de funciones. Hay que manejar muy bien estas propiedades
para poder eliminar la mayor cantidad de trminos y variables.
2. Utilizando el mtodo de Karnaugh. Es un mtodo grfico que si lo aplicamos bien, nos
garantiza que obtendremos la funcin ms simplificada posible, a partir de una tabla de
verdad.
Normalmente las formas cannicas no son las expresiones ms simplificadas.

3.7.2. Mtodo analtico de simplificacin de funciones


Desgraciadamente no exite tal mtido :-(. Hay que basarse en la experiencia y en el conocimiento de las propiedades y teoremas del Algebra de Boole. Lo mejor es ver un ejemplo:

Ejemplo:
Simplificar la siguiente funcin:

              

Vamos a intentar aplicar la propiedad distributiva, lo que normalmente llamamos sacar factor
comn. Operando con los trminos 1 y 3:




 




Operando con los trminos 2 y 4:




La funcin que nos queda es:

 




  

CAPTULO 3. ALGEBRA DE BOOLE

52




Tanto la funcin inicial, como la que hemos obtenido son funciones equivalentes. Tienen la
misma tabla de verdad, sin embargo, la segunda est mucho ms simplificada: slo tiene dos
sumandos y cada sumando tiene slo dos variables.

Ejemplo:
Simplificar la siguiente funcin:









     


Si nos fijamos, vemos que podemos reordenar la funcin de manera que quede:

y puesto que















   





y cualquier cosa multiplicada por 0 es 0, al final nos queda:







3.7.3. Mtodo de Karnaugh


En este apartado veremos un mtodo para obtener la funcin ms simplificada a partir de
una tabla de verdad.
Vamos a ir poco a poco, viendo los fundamentos de este mtodo. Supongamos que tenemos
una funcin F(A,B,C) de tres variables, cuya tabla de verdad es:

3.7. SIMPLIFICACIN DE FUNCIONES BOOLEANAS




53

0
0

0
0

0
1

0
0

0
0
1

1
1
0

0
1
0

1
1
1

1
1

0
1

1
0

1
1

Si la desarrollamos por la primera forma cannica obtenemos:




 

 


 


 


 


Veremos como aplicando el mtodo de Karnaugh podemos simplificar esta funcin.Vamos a


organizar esta misma tabla de la siguiente manera:
BC
00
A

01

11

10

Observamos lo siguiente:
En total hay 8 casillas, cada una correspondiente a una fila de la tabla de verdad
En cada casilla est colocado el valor de la funcin F, correspondiente a esa entrada. En la
tabla de verdad hay dos filas en las que F=0 y 6 filas en las que F=1. En el nuevo diagrama
hay dos casillas con 0 y 6 con 1.
Hay dos filas, en al primera fila estn todos los valores de F correspondientes a A=0, y en
la segunda correspondientes a A=1.
Hay 4 columnas, y el nmero que est en la parte superior de cada una de ellas nos indica
los valores de las variables B y C en esa columna.
Dada una casilla cualquiera, mirando el nmero situado en la misma fila, a la izquierda
del todo nos informa del valor de la variable A y los dos valores superiores, en la misma

CAPTULO 3. ALGEBRA DE BOOLE

54

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 cannica, obtenemos una funcin con 6 trminos. Vamos a fijarnos slo en los trminos que obtenemos
si desarrollamos slo dos casillas adyacentes, como por ejemplos las marcadas en gris en la
figura:
BC
A

00

01

11

10

Los valores de las variables en estas casillas son: A=1, B=1, C=1 y A=1, B=1, C=0. Si
obtenemos los trminos de la primera forma cannica y los sumamos:




 








Se nos han simplificado!! Es decir, por el hecho de agrupar los trminos obtenidos de estas
dos casillas y sumarlos, se han simplificado. Y esto es debido a la propiedad antes comentada de
que entre dos casillas adyacentes slo vara una de las variables, de manera que podemos sacar
factor comn. Estos dos trminos son los sumandos 5 y 6 de la primera forma cannica obtenida
anteriormente, que al sumarlos y aplicar aglunas propiedades se han simplificado.
Si nos fijamos en estas dos casillas adyacentes, la variable C, que es la nica que vara de una
a otra, ha desaparecido en la suma. De esta manera podemos afirmar lo siguiente:
Si tomamos dos casillas adyacentes cuyo valor es 1 y desarrollamos por la primera forma
cannica, desaparecer una de las variables. Slo permanecen las variables que no cambian

3.7. SIMPLIFICACIN DE FUNCIONES BOOLEANAS

55

de una casilla a otra.


De esta manera, vamos a ver qu pasa si tomamos los siguientes grupos:
BC
A

00

01

11

10

Grupo 1

Grupo 2

Grupo 3

y sumamos los trminos de estos grupos:


Grupo 1:

 
 



Grupo 3: El que tenamos antes:
Grupo 2:




Por tanto, la funcin F tambin la podemos expresar como suma de estos grupos:




 

 


Y est ms simplificada que la forma cannica!! Pero...Se puede simplificar ms? Si!.
Inicialmente la funcin F tena 6 sumandos, puesto que tena 6 unos. Al hacer 3 grupos, ahora
tiene 3 sumandos. Podemos reducir el nmero de grupos? Si, vamos a ver qu pasa si tomamos
los siguientes grupos:
BC
00
A

01

11

10

Grupo 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 nuevas
expresiones de los grupos quedaran:

CAPTULO 3. ALGEBRA DE BOOLE

56




Grupo 1: Igual que antes:

 

Grupo 2:

  

 




La nueva funcin F que obtenemos es:

 


Que est ms simplificada que la anterior!! Pero... Es la ms simplificada? No, todava


podemos simplificarla ms. Por qu no podemos tomar 2 grupos de 4 casillas adyacentes?.
Tomemos los grupos siguientes:
BC
00
A

01

11

10

Grupo 1

Grupo 2

Las nuevas expresiones de los grupos son:


Grupo 1:

 

Grupo 2: Igual que antes:



  

Por tanto, la nueva funcin F simplificada es:

 

Esta funcin est simplificada al mximo!!!


Criterio de mxima simplificacin:
Para obtener una funcin que no se puede simplificar ms hay que tomar el menor nmero
de 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 de
1, 2, 4, 8, 16,... (es decir, slo potencias de dos). Esa es la razn por la que en el ejemplo anterior
los 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:

3.7. SIMPLIFICACIN DE FUNCIONES BOOLEANAS

57

                      
           (3 grupos de 2 1s por grupo)
     (1 grupo de 4 1s y 1 grupo de 2 1s)
   (2 grupos de 4 1s)

(CANONICA)

Todas son funciones booleanas equivalentes!! (Porque tienen la misma tabla de verdad). Pero
es 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 funcin simplificada. Dada la siguiente tabla de verdad, obtener la expresin de F ms simplificada
posible:
A

0
0

0
1

1
0

1
1

0
1
1

1
0
0

1
0
1

1
0
0

1
1

1
1

0
1

0
1

Colocamos la tabla de verdad como un diagrama de Karnaugh y hacer tres grupos de dos
unos:
BC
00
A

01

11

10

La funcin F la obtenemos sumando las expresiones de los tres grupos, siendo cada uno de
ellos el producto de las dos variables booleanas que permanecen sin cambios dentro de cada
grupo:

CAPTULO 3. ALGEBRA DE BOOLE

58

 





Como hemos aplicado correctamente el criterio de mxima simplificacin, tenemos la certeza absoluta de que esta es la expresin ms simplificada posible para la funcin F.
A la hora de formar los grupos hay que tener en cuenta que las casillas situadas ms a la
derecha de la tabla son adyacentes a las que estn ms a la izquierda. Veamos un ejemplo:

Ejemplo:
Simplificar la siguiente funcin, utilizando el mtodo de Karnaugh:
A

0
0

0
0

0
1

1
0

0
0
1

1
1
0

0
1
0

0
1
1

1
1

0
1

1
0

0
1

Lo representamos en un diagrama de Karnaugh y tomamos el siguiente grupo:


BC
00
A

01

11

10

con el que obtenemos la siguiente funcin simplificada:

3.7. SIMPLIFICACIN DE FUNCIONES BOOLEANAS

59

Funciones de 4 variables
Y qu ocurre si tenemos una funcin de 4 variables? La idea es la misma pero tendremos
una tabla ms grande. El criterio de mxima simplificacin es el mismo: hacer el menor nmero
posible de grupos con el mximo nmero de 1s. Veamos un ejemplo:

Ejemplo:

Dada la siguiente tabla de verdad, obtener la expresin de F ms simplificada posible:

A B

D F

0
0
0

0
0
0

0
1
1

1
0
1

0
1
0

0
0

1
1

0
0

0
1

1
1

0
0

1
1

1
1

0
1

1
1

1
1

0
0

0
0

0
1

1
0

1
1

0
0

1
1

0
1

1
0

1
1

1
1

0
0

0
1

1
0

1
1

1
1

1
1

0
1

1
0

Lo primero que hacemos es pasarlo a un diagrama de Karnaugh, de la siguiente manera


(cuidado de no confundirse!!):

CAPTULO 3. ALGEBRA DE BOOLE

60
CD
00
AB

01

11

10

00

01

11

10

Vemos que ahora en la izquierda de la tabla estn los valores de las variables A y B y en la
parte superior los valores de C y D. Lo siguiente es agrupar los 1s. Vamos a hacer primero los
siguientes grupos:

CD
00

01

11

10

00

01

11

10

  


AB

La expresin que obtenemos es:

 

Sin embargo, es esta la funcin ms simplificada? O lo que es lo mismo, podemos hacer


menos grupos de 1s. La respuesta es s, porque no olvidemos que las casillas de la derecha son
adyacentes a las de la izquierda de la tabla, por lo que podemos hacer slo dos grupos:

3.8. LA OPERACIN

61


CD
00
AB

01

11

10

00

01

11

10

Un grupo es de 8 unos y el otro de 4. Obtenemos la siguiente funcin:

  


Esta s es la ms simplificada.

Ejercicios:
Hacer el ejercicio 9.

3.8. La operacin
Hay un operacin que en electrnica digital se utiliza mucho, llamada XOR y que se denota
por el smbolo


. Esta operacin la podemos definir mediante una tabla de verdad:


 
A B


0
0

0
1

0
1

1
1

0
1

1
0

Fijndonos en esta tabla podemos ver lo que hace: esta operacin devuelve 0 cuando los dos
bits sobre los que operan son iguales, y 1 cuando con distintos. Tanto esta operacin como su
  , las utilizaremos mucho, por ello vamos a ver cmo las podemos definir a partir
negada,
de las operaciones + y , y ver algunas de sus propiedades.


Partiremos de la tabla de verdad, en la que adems representaremos la operacin negada:

CAPTULO 3. ALGEBRA DE BOOLE

62

A B







0
0

0
1

0
1

1
0

1
1

0
1

1
0

0
1

Vamos a obtener las dos formas cannicas de ambas funciones. Estas expresiones las utilizaremos bastante:




 







 







  


  





Y la siguiente propiedad tambin es muy interesante:










Ejercicios:
Hacer el ejercicio 10.

3.9. Resumen
En este captulo se han presentado las herramientas matemticas que nos servirn para
analizar y disear circuitos digitales. Trabajaremos con dgitos binarios o bits que pueden estar
en dos estados 0 1, sobre los que se definen 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 expresiones
booleanas y con los que es necesario practicar, haciendo los ejercicios indicados.
Tambin hemos visto el concepto de funcin boolena y cmo podemos representar cualquier
funcin de este tipo mediante tablas de verdad o mediante expresiones booleanas. Tambin
hemos visto cmo es posible obtener una tabla de verdad a partir de una expresin booleana y
cmo obtener una expresin booleana a partir de la tabla de verdad.
Dada una tabla de verdad, existen multitud de expresiones booleanas, todas ellas equivalentes, que se pueden obtener. Sin embargo, hemos visto cmo es inmediato obtener la primera

3.10. EJERCICIOS

63

y segunda forma cannica. Sin embargo, las funciones as obtenidas no tienen porqu ser las
ms simplificadas posibles. Para simplificar una funcin podemos utilizar las propiedades del
Algebra de Boole, o tambin podemos utilizar el mtodo de Karnaugh, que si lo aplicamos
correctamente, conseguiremos obtener la funcin ms simplificada posible.
Finalmente hemos visto una nueva operacin, , que se define 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 problemas de los apartados 3.10

3.10. Ejercicios
Ejercicio 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 =

CAPTULO 3. ALGEBRA DE BOOLE

64
14. 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.

      


3.10. EJERCICIOS

65

Ejercicio 5:
Desarrollar las siguientes tablas de verdad por la primera forma cannica:
1. Tabla 1:
A B

0
0

0
1

0
1

1
1

0
1

0
1

2. Tabla 2:
A

C F

0
0
0

0
1
1

1
0
1

1
0
0

1
1

0
0

0
1

0
0

1
1

1
1

0
1

0
0

Ejercicio 6:
Dadas las siguientes funciones, indicar si se encuentra expresadas en la primera forma cannica, 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:

CAPTULO 3. ALGEBRA DE BOOLE

66
1. Tabla 1:
A B

0
0

0
1

0
1

1
1

0
1

0
1

2. Tabla 2:
A

C F

0
0

0
0

0
1

1
1

0
0

1
1

0
1

0
1

1
1
1

0
0
1

0
1
0

0
1
0

Ejercicio 8:
Dadas las siguientes funciones, indicar si se encuentra expresadas en la primera forma cannica o en la segunda. En caso de que as sea, obtener la tabla de verdad.



1.

2.

4.







                
          
      
 


  




3.

5.

Ejercicio 9:
Obtener las expresiones ms simplificadas a partir de las tablas de verdad:

3.10. EJERCICIOS

67

Tabla 1:

Tabla 2:

A B

0
0

0
0

0
0

0
1

1
0

0
0

0
0

0
0

0
0

1
1

0
1

1
0

0
0

0
0
0

1
1
1

0
0
1

0
1
0

0
0
0

1
1
1

0
0
0

0
0
1

0
0

0
1

1
0

0
0

1
1

0
1

0
0

0
0
0

1
1
1

0
0
1

0
1
0

1
0
1

0
1
0

1
1
1

1
1
1

0
0
0

0
0
1

0
1
0

0
0
0

1
1

1
1

0
1

1
0

0
0

1
1

1
1

0
1

1
0

1
0

Ejercicio 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) =

CAPTULO 3. ALGEBRA DE BOOLE

68

3.

      




2.




Ejercicio 12:
Simplificar la funcin






de las siguientes maneras:

1. Obteniendo la tabla de verdad y aplicando Karnaugh


2. Aplicando las propiedades del Algebra de Boole

Captulo 4
CIRCUITOS COMBINACIONALES
4.1. Introduccin
Despus de introducir y trabajar con el Algebra de Boole, vamos a volver a los circuitos
digitales. Recordemos que son circuitos electrnicos que trabajan con nmeros, y que con la
tecnologa con la que estn realizados, estos nmeros estn representados en binario. En la
figura 4.1 se muestra el esquema general de un circuito digital, que tiene m bits de entrada y n
bits de salida.
Si tomamos un circuito genrico y miramos en su interior, podemos ver que est constituido
por otros circuitos ms simples, interconecados entre s. En la figura 4.2 hay un ejemplo de un
circuito con 4 bits de entrada y 3 de salida, constituido por otros dos circuitos ms simples e
interconectados entre ellos.
Estos subcircuitos se pueden clasificar en dos tipos:
Circuitos combinacionales
Circuitos secuenciales
Numeros de
entrada, en binario

.
.
.

Numeros de
salida, en binario
S0
E0
E1 Circuito S 1
S2
E2
S3
E3 Ditial
Em

Sn

.
.
.

Figura 4.1: Un circuito digital, con m bits de entrada y n de salida


69

También podría gustarte